一个伴随ASP.NET从1.0到4.0的OutputCache Bug
来源:网络 责任编辑:admin 发表时间:2013-07-01 03:58 点击:次
我们先来一睹这个Bug的风采!
在一个.aspx文件中增加OutputCache设置,代码如下:
<%@ OutputCache Duration="300" VaryByParam="*"%>
上面的设置表示:缓存5分钟,根据不同的查询字符串更新缓存。Location使用的是默认值Any,也就是可以在浏览器、代理服务器、Web服务器三个地方进行缓存,在Response Headers中的体现就是Cache-Control:public, max-age=300。(如果你要用CDN加速,Cache-Control就要用public)。
然后,我们在Firefox浏览器中访问这个页面,并打开Firebug,见下图:
第一次访问,返回状态码为"200 OK",正常。这里Response Headers中的Vary:Accept-Encoding是因为IIS启用“动态内容压缩”产生的,如果不启用,就不会出现。
这时缓存应该被建立起来了,我们按F5刷新一下浏览器,看一下结果,见下图:
第二次访问,返回状态码为"304 Not Modified",浏览器缓存生效,这也是我们期望的。
但是,请注意一下上图中的Vary:*,它会让浏览器的缓存失效,我们再按一下F5验证一下。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- asp.net使用httphandler打包多CSS或JS文件以加快页面加
- 实现.net cms系统 第三篇《大刀阔斧-核心源码》
- ASP.NET 2.0编程小技巧两则
- .NET中序列化(二)
- .Net Remoting与WCF实现Server与Client通讯比较
- 【译】MVC3 20个秘方-(13)使用Ajax Helper 提高用户
- Asp.net MVC源码分析--Model Validation(Server端
- winform下通过webclient使用非流方式上传(post)数据和
- ASP.NET中Request.InputStream使用
- wcf系列5天速成——第一天 binding的使用(1)