一个解决方案是将一个QueryString变量添加到一个随机guid的url,但这看起来有点混乱。是否有某个设置阻止浏览器显示页面的缓存版本?
答案 0 :(得分:9)
您可以添加这样的元标记。
<meta http-equiv="pragma" content="no-cache" />
答案 1 :(得分:6)
在我们的ASP.Net项目中,我们创建了一个继承自所有其他页面的BasePage。在基页中我们有一个函数
Public Sub DisableCaching()
With Response
.Expires = 0
.ExpiresAbsolute = Date.Today.AddDays(-1)
.AddHeader("pragma", "no-cache")
.AddHeader("cache-control", "no-cache")
End With
End Sub
我们在任何不希望缓存的页面上调用它。
答案 2 :(得分:3)
ONE aproach 将添加'Expires或Cache-Control Header'。
这是从雅虎最佳实践(http://developer.yahoo.com/performance/rules.html)
中提取的此规则有两件事:
* For static components: implement "Never expire" policy by setting far future Expires header
* For dynamic components: use an appropriate Cache-Control header to help the browser with conditional requests
浏览器(和代理)使用缓存来减少HTTP请求的数量和大小,从而加快网页加载速度。 Web服务器使用HTTP响应中的Expires标头告诉客户端可以缓存组件多长时间。这是一个遥远的未来Expires标题,告诉浏览器这个响应在2010年4月15日之前不会过时。
Expires: Thu, 15 Apr 2010 20:00:00 GMT
如果您的服务器是Apache,请使用ExpiresDefault指令设置相对于当前日期的到期日期。 ExpiresDefault指令的这个示例将Expires日期设置为从请求时起10年。
ExpiresDefault "access plus 10 years"
基本上,您可以设置到期日期以“通知”浏览器缓存组件已过期。因此,浏览器将再次请求该站点。
假设您需要这个用于Web开发,另一种方法是强制清除缓存。在Firefox上,这可以通过CTRL + F5或CTRL + SHIFT + R。
来完成希望这有帮助, 卢卡斯
答案 3 :(得分:3)
将Cache-Control标头设置为no-cache。
答案 4 :(得分:2)
尝试以下任何一项:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(360));
Response.Cache.SetCacheability(HttpCacheability.Private)
Response.Cache.SetSlidingExpiration(true);
Page.Response.Cache.SetCacheability(HttpCacheability.NoCache)
另见question。
答案 5 :(得分:1)
一个解决方案是将一个QueryString变量添加到一个随机guid的url中,但这看起来有点混乱
为什么要凌乱?这是最可靠的方式。它不是必需的,它可能是当前的时间。