longhorn008

 

Cache中存放结构数组

以下代码演示了 从blog_Category表读取内容,并做缓存。表内数据以行与列呈现,我们很容易想到二维数组,但是二维总觉得烦,想到struct数组,其实它就是二维

 1    public class SiteCache : SiteCommon
 2    {
 3        public SiteCache()
 4        {
 5
 6        }

 7
 8
 9        /// <summary>
10        /// 分类数据读入结构数组
11        /// </summary>
12        /// <returns>返回结构数组</returns>

13        public BlogCate[] BlogCategory()
14        {
15                this.Instance();
16                dbo.SqlCmd="select * from blog_Category order by cate_Order";
17                IDataReader dr=dbo.dataReader();
18                int i=0;
19                BlogCate[] CacheCategory=new BlogCate[20];
20                while(dr.Read())
21                {            
22                    CacheCategory[i].cate_ID=dr["cate_ID"].ToString();
23                    CacheCategory[i].cate_Name=dr["cate_Name"].ToString();
24                    CacheCategory[i].cate_Order=dr["cate_Order"].ToString();
25                    CacheCategory[i].cate_Intro=dr["cate_Intro"].ToString();
26                    CacheCategory[i].cate_OutLink=dr["cate_OutLink"].ToString();                
27                    CacheCategory[i].cate_URL=dr["cate_URL"].ToString();
28                    CacheCategory[i].cate_Lock=dr["cate_Lock"].ToString();
29                    CacheCategory[i].cate_icon=dr["cate_icon"].ToString();
30                    CacheCategory[i].cate_count=dr["cate_count"].ToString();                
31                    CacheCategory[i].cate_local=dr["cate_local"].ToString();
32                    CacheCategory[i].cate_Secret=dr["cate_Secret"].ToString();
33                    i+=1;            
34                }

35                dbo.ResetDB();
36                dbo.CloseDB();
37                return CacheCategory;                        
38        }

39    }

40
41    public struct BlogCate   //分类结构
42    {
43        public string cate_ID;
44        public string cate_Name;
45        public string cate_Order;
46        public string cate_Intro;
47        public string cate_OutLink;
48        public string cate_URL;
49        public string cate_Lock;
50        public string cate_icon;
51        public string cate_count;
52        public string cate_local;
53        public string cate_Secret;
54    
55    }

Cache好象只能在.aspx.cs里面使用??

 1        private void Page_Load(object sender, System.EventArgs e)
 2        {
 3        
 4            if(Cache["BlogCategory"]!=null)
 5            {
 6                BlogCate[] BlogCategory=(BlogCate[])Cache["BlogCategory"];
 7                for(int i=0;i<BlogCategory.Length;i++)
 8                {
 9                    ltlTest.Text+=BlogCategory[i].cate_Name+"<br/>";    
10                    Label1.Text="从缓存中读取!";
11                }
            
12            }

13            else
14            {
15                SiteCache CacheCategory=new SiteCache();            
16                BlogCate[] BlogCategory=(BlogCate[])CacheCategory.BlogCategory(); //从数据库读取
17                for(int i=0;i<BlogCategory.Length;i++)
18                {
19                    ltlTest.Text+=BlogCategory[i].cate_Name+"<br/>";            
20                }

21                Label1.Text="从数据库读取";
22    
23                Cache["BlogCategory"]=BlogCategory;  //写入缓存
24            
25            }

26
27
28            
29        }

posted on 2006-01-20 16:28  R9's Blog  阅读(525)  评论(0编辑  收藏  举报

导航