MVC缓存OutPutCache学习笔记 (一) 参数配置

时间:2024-05-23 11:35:02

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..可以不用写

基本常用的也就这些了..最后给个示例

MVC缓存OutPutCache学习笔记  (一) 参数配置

最后介绍一种站点常用的用法..方便站点统一配置..

下边代码添加到配置文件的 <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方法上改为..

MVC缓存OutPutCache学习笔记  (一) 参数配置

这样..就可以在Web.Config中变更各个缓存页面的配置了..

---------------------------------------------------------

有写错或不全的..请及时批评指正..