小菜学路,请求老师们指点迷津
小弟初入步门,还望老师们指点指点.
1 public class PageList
2 {
3 delegate object getCacheCompleteEvent(XUEWeb.Model.PageList parm);
4
5 private readonly XUEWeb.DAL.PageList dal = new XUEWeb.DAL.PageList();
6 public PageList() { }
7 public DataSet getDataSet(XUEWeb.Model.PageList parm)
8 {
9 return (DataSet)getCache("PageList_getDataSet_Cache_", dal.getDataSet, parm);
10 }
11 public DataSet GetList(XUEWeb.Model.PageList parm)
12 {
13 return (DataSet)getCache("PageList_GetList_Cache_", dal.GetList, parm);
14 }
15 public DataSet Execute(XUEWeb.Model.PageList parm)
16 {
17 return (DataSet)getCache("PageList_Execute_Cache_", dal.Execute, parm);
18 }
19 public DataSet GetPageList(XUEWeb.Model.PageList parm)
20 {
21 parm.ParameterType = 1;
22 return (DataSet)getCache("PageList_GetPageList_Cache_",dal.Execute,parm);
23 }
24 public string getSQL(XUEWeb.Model.PageList parm)
25 {
26 return (string) getCache("PageList_getSQL_Cache_",dal.getSQL,parm);
27 }
28 private object getCache(string key,getCacheCompleteEvent completeEvent,XUEWeb.Model.PageList parm)
29 {
30 key += Serialize(parm);
31 object obj = LTP.Common.DataCache.GetCache(key);
32 if(obj == null && completeEvent!=null)
33 {
34 obj = completeEvent(parm);
35 if(obj !=null)
36 {
37 int ModelCache = LTP.Common.ConfigHelper.GetConfigInt("ModelCache");
38 LTP.Common.DataCache.SetCache(key, obj, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);
39 }
40 }
41 return obj;
42 }
43 private string Serialize(object obj)
44 {
45 Stream str = new MemoryStream();
46 BinaryFormatter bf = new BinaryFormatter();
47 bf.Serialize(str, obj);
48 byte[] byt = new byte[str.Length];
49 str.Write(byt, 0, (int)str.Length);
50 return System.Text.UTF8Encoding.ASCII.GetString(byt);
51 }
52 }
53
2 {
3 delegate object getCacheCompleteEvent(XUEWeb.Model.PageList parm);
4
5 private readonly XUEWeb.DAL.PageList dal = new XUEWeb.DAL.PageList();
6 public PageList() { }
7 public DataSet getDataSet(XUEWeb.Model.PageList parm)
8 {
9 return (DataSet)getCache("PageList_getDataSet_Cache_", dal.getDataSet, parm);
10 }
11 public DataSet GetList(XUEWeb.Model.PageList parm)
12 {
13 return (DataSet)getCache("PageList_GetList_Cache_", dal.GetList, parm);
14 }
15 public DataSet Execute(XUEWeb.Model.PageList parm)
16 {
17 return (DataSet)getCache("PageList_Execute_Cache_", dal.Execute, parm);
18 }
19 public DataSet GetPageList(XUEWeb.Model.PageList parm)
20 {
21 parm.ParameterType = 1;
22 return (DataSet)getCache("PageList_GetPageList_Cache_",dal.Execute,parm);
23 }
24 public string getSQL(XUEWeb.Model.PageList parm)
25 {
26 return (string) getCache("PageList_getSQL_Cache_",dal.getSQL,parm);
27 }
28 private object getCache(string key,getCacheCompleteEvent completeEvent,XUEWeb.Model.PageList parm)
29 {
30 key += Serialize(parm);
31 object obj = LTP.Common.DataCache.GetCache(key);
32 if(obj == null && completeEvent!=null)
33 {
34 obj = completeEvent(parm);
35 if(obj !=null)
36 {
37 int ModelCache = LTP.Common.ConfigHelper.GetConfigInt("ModelCache");
38 LTP.Common.DataCache.SetCache(key, obj, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);
39 }
40 }
41 return obj;
42 }
43 private string Serialize(object obj)
44 {
45 Stream str = new MemoryStream();
46 BinaryFormatter bf = new BinaryFormatter();
47 bf.Serialize(str, obj);
48 byte[] byt = new byte[str.Length];
49 str.Write(byt, 0, (int)str.Length);
50 return System.Text.UTF8Encoding.ASCII.GetString(byt);
51 }
52 }
53
决不做一个程序代码的写手.