项目的开发。
1.后台缓存
一些常用的数据或者查询比较慢的数据,要放入redis缓存或者机器缓存中。 所以项目集合中有一个专门的缓存项目 ,用于存放需要的集合函数,
有存放的函数,就要有获取的函数 , 数据的来源还是走bll层再启用dal层
如:
//把数据放入缓存中。
private void SetFundSubject()
{
Dictionary<int, MFundSubjectRela> dict = new Dictionary<int, MFundSubjectRela>();
List<MFundSubjectRela> list = new TblFundSubjectRelaBLL().GetFundSubjectRela().ToList();
Dictionary<int, List<MFundSubjectRela>> modelDict = list.GroupBy(o => o.SubCodeCls).ToDictionary(r => r.Key, r => r.ToList());
WsCache.Instance.Add("MFundSubjectRela", modelDict);
}
//从缓存中取数据
public Dictionary<int, List<MFundSubjectRela>> GetFundSubject()
{
return WsCache.Instance.Get<Dictionary<int, List<MFundSubjectRela>>>("MFundSubjectRela");
}
2. wcf Server的开发。
后台的数据通过wcf与客户端进行通读。要创建一个wcf的服务类。
一般接口层与实现层要分离存放。 方便 管理 。
如接口类中定义函数
/// <summary>
/// 根据主题获取对应的基金
/// </summary>
/// <param name="subcodecls"></param>
/// <returns></returns>
[OperationContract]
List<MFundSubjectRela> GetFundSubjectRelasByID(int subcodecls);
实现层对接口的方法进行实现
/// <summary>
/// 获取对应主题下面的基金
/// </summary>
/// <param name="subCode"></param>
/// <returns></returns>
public List<MFundSubjectRela> GetFundSubjectRelasByID(int subCode)
{
List<MFundSubjectRela> ls = fundCache.GetFundSubjectRelasByID(subCode);
return ls;
}
3 wcf服务的发布
写好服务以后,要把wcf服务发布出去,客户端才能调用到新加入的方法 。
wcf的host有两种,一种是控制台,一个是iis
我们采用控制台来发布服务,
注意客户端要更新服务,必须在服务启动以后才更新。
如果开发人员在本机开发的话,要更换wcf的地址为本机地址。这样才能调用出来。
4.客户端调用
客户端在wcf服务更新以后,
建立一个专门调用wcf服务方法的类来管理
public List<MFundSubjectRela> GetFundSubjectRelasByID(int subcode)
{
try
{
return fundService.GetFundSubjectRelasByID(subcode);
}
catch(Exception ex)
{
LogUtility.WriteLog(ex);
}
return null;
}
5.页面方法的实现
html中采用ajax调用相应cs中的webmethod ,取得要应的数据 。
[WebMethod]
public static List<MFundSubjectRela> GetFundSubjectRelasByID(int subcode)
{
try
{
var fundSubject = new FundsCache().GetFundSubjectRelasByID(subcode);
return fundSubject;
}
catch (Exception exception)
{
SystemInfoUtil.LogErrorMessage(exception);
}
return null;
}
6.关于bll,dal层和数据持久层
利用自动生成工具根据表结构生成持久层代码,然后再里面实现业务逻辑。如果是生成的表实现 不能表现现有的业务 ,可以自定义model 来实现, 自定义的model 写sql语句是要自己来组一下顺序。
还不快抢沙发