防止ASP.NET中的浏览器缓存问题和测试

时间:2013-01-11 20:18:40

标签: asp.net internet-explorer caching

使用IE8的一些用户正在获取缓存内容,我将以下代码段添加到我的global.asax.cs中,以强制他们的浏览器获取新内容:

  HttpContext.Current.Response.Cache.SetAllowResponseInBrowserHistory(false);
  HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
  HttpContext.Current.Response.Cache.SetNoStore();
  Response.Cache.SetExpires(DateTime.Now);
  Response.Cache.SetValidUntilExpires(true);

假设普通用户对IE中的缓存设置没有任何了解,我该如何测试我的更改是否有效?

当我在计算机上运行相同的浏览器时,我不确定为什么他们会遇到缓存问题(获取陈旧内容)? (作为天真的程序员,我是嘿嘿)

此外,我想确保我没有删除他们的cookie或阻止他们的cookie被存储等。

1 个答案:

答案 0 :(得分:0)

强制重新下载文件(防止缓存)的最安全,最可靠的方法是在URL中附加唯一标识符,时间戳或版本号。

事实上,对于我的项目,我通常会指示客户端缓存大多数资源(某些异步/数据请求和/或包含敏感信息的内容除外),除非“指示”重新下载,这是通过递增版本号来完成的。