南京北大青鸟
北大青鸟中博大学生专区 南京北大青鸟高中生专区 北大青鸟南京中专生专区 南京中博待业者专区 北大青鸟在职者专区
 
在线咨询
 
 
 
中心简介
校区简介
校区环境
周边景点
关于北大青鸟
特色优势
常见问题解答
网站地图
 
 
ACCP软件工程师课程
什么是ACCP
ACCP6.0课程介绍
各课程定位与介绍
各阶段课程
教学模式
ACCP6.0课程体系
ACCP6.0认证证书
 
 
  开班信息  
 
 
讲座试听
 
您的位置:首页 - 编程技巧 - 阅读信息
asp.net 2.0 缓存总结(二)
作者:管伟  出处:  日期:2011-03-25
采用声明方式,使用Substitution控件,设置MethodName属性所需的方法,此方法必须是静态方法,因为当前页输出缓存时

 


       部分页面缓存
       缓存后替换
      
       采用声明方式,使用Substitution控件,设置MethodName属性所需的方法,此方法必须是静态方法,因为当前页输出缓存时,页面实例还没被创建。注:AdRotator内部使用了缓存后替代。
      
       以编程方式设置缓存后替换,使用Response.WriteSubstitution()方法,好处:1,此方法引用的方法不一定是当前类的方法,可以是另一个类的实力或静态方法。2,可以在自定义控件中使用此方法实现缓存后替换。
      
       部分页面缓存:用户控件缓存
      
       给用户控件添加<%@ OutputCache%>指令。此指令包含一个Shared属性,可设置共享用户控件的输出缓存。
       以编程方式设置用户控件缓存
       当用户控件中包括<%@ OutputCache%>指令时,可以通过用户控件的CachePolicy属性所暴露的ControlCachePolicy类的实例的属性控制修改空间如何缓存。
       创建用户控件缓存的文件依赖
       可以使用CacheControlPolicy.Dependency属性在一个缓存了的用户控件和文件系统中一个文件间创建一个依赖,示例代码:
       PageLoad:
       CacheDependency depend=new CacheDependency(MapPath("~/test.xml"));
       this.CachePolicy.Dependency=depend;
      
       缓存动态载入的用户控件
       可以使用Page.LoadControl()方法载入用户控件,当具有缓存特性的用户控件被载入时,Asp.net Framework自动一个PartialCachingControl类的实例包装用户控件。示例代码:
       PageLoad:
       PartialCachingControl cacheme=(PartialCachingControl)Page.LoadControl("test.ascx");
       Cacheme.CachePolicy.SetExpires(DateTime.Now.AddSeconds(10));
       PlaceHolder1.Controls.Add(cacheme);
       Lable1.Text=cacheme.CachePolicy.Duration.ToString();

3.使用DataSource缓存
       SqlDataSource、ObjectDataSource、XmlDataSource控件都包括了用于缓存DataSource承载的属性,好处是数据源控件可以在数据更新时自动重新载入数据。并且可以在多个页面间共享相同的数据,通过一些属性的组合来识别:SelectCommand、SelectParameters、ConnectionString。如果属性相同,即共享相同的缓存数据。
       通过设置属性设置缓存过期策略
       包括绝对缓存(EnableCaching="True" CacheDuration=“xxx”)和Sliding缓存(EnableCaching="True" CacheExpirationPolicy="Sliding" CacheDuration=“xxx”)
      
       使用ObjectDataSource控件缓存
      
       通过设置控件的EnableCaching、CacheExpirationPolicy、CacheDuration属性以及SelectMethod所制定的方法名来完成。
       使用XmlDataSource控件缓存
       设置DataFile属性创建一个文件依赖。
       创建数据源控件键值依赖
      
       操作步骤
       1、设置数据源控件的CacheKeyDependency属性(key);
       2、在Global.asax创建初始化的(key)缓存项目。代码如下:
       Void Application_Start(Object Sender,EventArgs e)
        {
             HttpContext context=HttpContext.Current;
             context.Cache.Insert(
             "key",DateTime.Now,null,DateTime.MaxValue,Cache.NoSlidingExpiration,CacheItemPriority.NotRemovable,null
            );
        }
       3、在用于更改数据的页面上移除缓存项目(key);
       如在DetailsView控件的ItemInserted事件中重新插入缓存项目,此时每个依赖于这个键值(key)的DataSource会自动重新载入数据,代码如下:
       protected void DetailsView_ItemInserted(object sender,DetailsViewInsertedEventArgs e)
       {
           Cache.Insert("key",Datetime.Now);
        }
       注:以上key值采用当前时间并非必须。

北大青鸟-中博http://www.njaccp.com

返 回
下一篇:ASP.Net缓存总结(1)
相关新闻
面试时如何总结自身不足
企业2.0的五大误解:风险远大于回报
Foursquare创始人称即将发布Foursquare 2.0
北大青鸟:南京中博 学习要善于总结
王泽锴学习总结
 
中博教育客服在线
 
©南京北大青鸟 隐私政策


学费咨询
学历咨询
专业咨询
订座试听
就业咨询
课程咨询
测试认证
软件认证