MVC缓存OutPutCache学习笔记 (一) 参数配置
OutPutCache 参数详解
Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的。
Location : 缓存放置的位置; 该值为枚举值:
None: 当被设置为None时,其余的任何设置将不起作用
Any : 页面被缓存在浏览器、代理服务器端和web服务器端;
Client : 缓存在浏览器;
DownStream : 页面被缓存在浏览器和任何的代理服务器端;
None : 页面不缓存;
ServerAndClient : 常用! 输出缓存只能存储在源服务器或发出请求的客户端中。 代理服务器不能缓存响应。
默认为Any 。
VaryByCustom : 常用! 任何自定义输出缓存的文字。这个参数要好好理解..因为这是最最实用的参数..能够控制缓存过期等.. 详见后期文章<MVC缓存OutPutCache学习笔记 (二) 缓存及时化VaryByCustom>
VaryByParam: 根据请求的参数来生成不同的缓存..例: varyByParam="ID" 这便可以根据参数ID的不同生成不同的缓存..多个参数用逗号隔开 varyByParam="ID,Name"..不根据参数生成则使用 None (Ps: 说实话..TM我就没试成功过...)
NoStore: 该属性定义一个布尔值,用于决定是否阻止敏感信息的二级存储。默认值为 false..可以不用写
基本常用的也就这些了..最后给个示例
最后介绍一种站点常用的用法..方便站点统一配置..
下边代码添加到配置文件的 <system.web>节点下..
<caching> <outputCacheSettings> <outputCacheProfiles> <add name="goodsInfo" duration="3600" enabled="true" location="ServerAndClient" varyByCustom="goodsInfo"/> <add name="goodsList" duration="900" enabled="true" location="ServerAndClient" varyByCustom="goodsList"/> </outputCacheProfiles> </outputCacheSettings> </caching>
控制器的Action方法上改为..
这样..就可以在Web.Config中变更各个缓存页面的配置了..
---------------------------------------------------------
有写错或不全的..请及时批评指正..