小菜学路,请求老师们指点迷津

小弟初入步门,还望老师们指点指点.
 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 
posted @ 2009-07-03 14:08  竹子小毅  阅读(174)  评论(0编辑  收藏  举报