ASP.NET OutputCache详解
当用户访问页面时,整个页面将会被服务器保存在内存中,这样就对页面进行了缓存。当用户访问该页,页面不会执行数据操作,页面会检查服务器中是否存在缓存,如果缓存存在,则直接从缓存中获取页面信息,如果页面不存在,则创建缓存。
页面输出缓存适用于那些数据量较多,而不会进行过多的事件操作的页面,如果一个页面需要执行大量的事件更新,以及数据更新,则并不能使用页面输出缓存。使用@OutputCatch指令能够声明页面输出缓存,示例代码如下所示。
<%@ OutputCache Duration="120" VaryByParam="none" %>
上述代码使用@OutputCatch指令声明了页面缓存,该页面将被缓存120秒。@OutputCatch指令包括10个属性,通过这些属性能够分别为页面的不同情况进行缓存设置,常用的属性如下所示
CacheProfile获取或设置OutputCacheProfile名称。
Duration获取或设置缓存项需要保留在缓存中的时间。
VaryByHeader获取或设置用于改变缓存项的一组都好分隔的HTTP标头名称。
Location获取或设置一个值,该值确定缓存项的位置,包括Any、Clint、Downstream、None、Server和ServerAndClient。默认值为Any。
VaryByControl获取或设置一簇分好分隔的控件标识符,这些标识符包含在当前页或用户控件内,用于改变当前的缓存项。
NoStore获取或设置一个值,该值确定是否设置了“Http Cache-Controlno-store”指令。
VaryByCustom获取输出缓存用来改变缓存项的自定义字符串列表。
Enabled获取或设置一个值,该值指示是否对当前内容启用了输出缓存。
VaryByParam获取查询字符串或窗体POST参数的列表。
通过设置相应的属性,可以为页面设置相应的缓存,当需要为Default.aspx设置缓存项时,可以使用VaryByParam属性进行设置,示例代码如下所示。
<%@ OutputCache Duration="120" VaryByParam="none" %>
上述代码使用了Duration属性和VarByParam属性设置了当前页的缓存属性。为一个页面进行整体的缓存设置往往是没有必要的,常常还会造成困扰,例如Default.aspx?id=1和Default.aspx?id=100在缓存时可能呈现的页面是相同的,这往往不是开发人员所希望的。通过配置VarByParam属性能够指定缓存参数,示例代码如下所示。
<%@ OutputCache Duration="120" VaryByParam="id" %>
上述代码则通过参数id进行缓存,当id项不,ASP.NET所进行的页面缓存也不尽相同。这样保证了Default.aspx?id=1和Default.aspx?id=100在缓存时所显示的页面并不一致。VarByHeader和VarByCustom主要用于根据访问页面的客户端对页面的外观或内容进行自定义。在ASP.NET中,一个页面可能需要为PC用户和MOBILE用户呈现输出,可以通过客户端的版本不同来缓存不同的数据,示例代码如下所示。
<%@ OutputCache Duration="120" VaryByParam="none" VaryByCustom="browser" %>
上述代码则为每个浏览器单独设置了缓存条目。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程