高效网站开发缓存技术应用——网页输出缓存(Ⅰ)

来源:互联网 发布:阿里云丁丁 编辑:程序博客网 时间:2024/06/05 06:52

高效网站开发缓存技术应用——网页输出缓存(Ⅰ)

       网页输出缓存 是 ASP.NET 缓存中的重要组成部分。网页输出缓存又分为:完整页缓存、用户控件缓存 和 缓存后替换。下面我们先来学习一下 ——完整页缓存!

       使用@OutputCache 可以已声明的方式控制ASP.NET页或页中包含的用户控件的输出缓存策略,实现对页面输出缓存的一般性需求。

关键技术:

<%@OutputCache Duration="60" Location="Any|Client|Downstream|Server|None|ServerAndClient" Shared="True|False" VaryByControl="controlname" VaryByCustom="browser|customstring" VaryByHeader="headres" VaryByparam="parametername" %>

@OutputCache 指令中各个属性如下表所示:
   属性名                            说              明Duration缓存过期时间(单位:秒 *注:此属性为必填项)Location指定输出缓存可以使用的场所,默认为 Any(*注:在用户控件中@OutputCache 指令不支持此属性)Shared是否可以由多个页共享,默认值为 FalseVaryByControl一个用分号分割的字符串,用来改变用户控件的部分输出缓存(字符串为用户控件页中的服务器控件ID)VaryByCustom根据自定义文本改变缓存内容VaryByHeader根据HTTP头改变缓存内容VaryByParam一个用分号分割的字符串,用来改变使输出缓存发生变化,默认情况下与GET或POST的参数对应

说明:

@OutputCache 指令必须和 VaryByControl 属性或者 VaryByParam属性之一搭配使用,这是最基本的要求。
例如:
<%@OutputCache Duration="60" VaryByControl="" %>
<%@OutputCache Duration="60" VaryByParam="" %>


例子一:根据多个参数进行缓存

               如果要根据多个参数来缓存,需要包含已分号分割的参数名称,例如:VaryByParam="Id,Card".若要根据所有的参数值来缓存,需要将 VaryByParam属性值设为星号,

              例如:VaryByParam = "*"


例子二:实现网页缓存的多个版本方法

               实现网页多个版本缓存有两种方法:一是以@OutputCache 指令属性声明的方式缓存网页输出的多个版本,二是以 HttpCachePolicy 类的属性和方法(Response.Cache)通过编程方式缓存网页输出的多个版本。

例如: 

Response.Cache.SetExpires(Datetime.Now.AddSecondes(60));Response.Cache.SetCacheability(HttpCacheility.Public);Response.Cache.SetValidUntilExpires(true);Response.Cache.VaryByParam["Card"]=true;


0 0
原创粉丝点击