Asp.Net 网站性能优化 缓字决 Asp.Net 内置的输出缓存介绍

Asp.Net 中有两类缓存方式一种是对页面或者控件的输出内容缓存,一种是对数据的缓存;我们先来看看输出缓存。

输出缓存通常在页面或UserControl上做指令声明,如下示例:

1<%@ OutputCache Duration="1000" Location="Any" VaryByParam="id" %>


在页面上声明的OutputCache指令是由OutputCacheModule处理的,OutputCacheModule配置在.Net framework的web.config文件中

1<add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/>

下面简单写下OutputCache指令属性在页面上的使用:
1. Duration这个值是必填值,以秒为单位指定缓存的失效时间
2. Location的值用来指定缓存数据的存放位置,其默认值为Any,Any表示可以存在在服务器端,客户端,或者代理服务器上;
3. NoStore设置为true表示通过http头通知浏览器不要存储页面
4. VaryByCustom表示自定义的缓存值是否改变,可以指定其值为browser,使不同浏览器使用不同的缓存版本,也可以指定自定义的缓存值,当指定值定义值时必须在Global文件中重写GetVaryByCustomString方法
5. VaryByHeader指定缓存版本随指定的http请求头的值变化
假如我们需要根据浏览器的不同输出不同的缓存版本我们可以这样指定OutputCache指令

1<%@ OutputCache Duration="10" VaryByHeader="User-Agent" VaryByParam="None" %>


你可以在页面上输出下面内容,用ie和firefox分别访问页面,观察缓存变化情况

1<p> <%=Request.UserAgent + " request at " + DateTime.Now%></p>


6. VaryByControl用来指定页面缓存需要根据控件的值的变化做变化
7. 最常用的VaryByParam用来指定是否根据或根据什么查询字符串的值做变化

在.Net 4.0中为我们提供了扩展OutputCache的接口,具体请看Asp.Net 4.0 新特性之 使用自定义OutputCache Provider.

另外向大家推荐有关客户端浏览器缓存的Http头介绍

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值