当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET OutputCache详解

ASP.NET OutputCache详解

2017年12月12日  | 移动技术网IT编程  | 我要评论

说出你的故事陈思成,成都胃肠医院,静虚村记

当用户访问页面时,整个页面将会被服务器保存在内存中,这样就对页面进行了缓存。当用户再次访问该页,页面不会再次执行数据操作,页面首先会检查服务器中是否存在缓存,如果缓存存在,则直接从缓存中获取页面信息,如果页面不存在,则创建缓存。

页面输出缓存适用于那些数据量较多,而不会进行过多的事件操作的页面,如果一个页面需要执行大量的事件更新,以及数据更新,则并不能使用页面输出缓存。使用@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-control:no-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" %>

上述代码则为每个浏览器单独设置了缓存条目。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网