在asp.net Intranet站点部署后去缓存用户浏览器内容?

时间:2011-10-08 18:29:42

标签: javascript asp.net caching header

是否存在强制用户在Intranet部署后刷新缓存的浏览器内容的标准做法?他们倾向于在浏览器中缓存相互冲突的JavaScript,并且必须点击F5才能摆脱IE 8.0中的JavaScript错误。根据管理层,我们会在营业时间进行部署。

需要在首次点击网站时一次使每个用户的缓存无效/到期,然后让用户恢复正常缓存。

谢谢!

2 个答案:

答案 0 :(得分:5)

您无法强制浏览器刷新其缓存,但可以强制它通过向URL添加虚拟查询部分来重新加载某些内容:

<script src='js/stuff_that_changes.js?dummy=001'></script>

如果要强制使用新版本,请将URL引用更新为“002”,“003”等。具体操作方法取决于您的服务器端技术。

答案 1 :(得分:0)

由于您提到这是针对Intranet应用程序的,因此在此类情况下可以采取的一种方法是通过为所有Intranet设置HTTP响应标头来更改浏览器可能从Intranet站点缓存的所有项目的到期时间网站内容。如果内部网上的所有用户都需要具有相对快速的连接(即它们都在办公室局域网上),那么您可以将到期时间强制设置为非常低的值,除非您拥有大量用户,否则不应该有太多问题或者让用户连接速度较慢。这样,用户浏览器缓存中的所有项目都会相对较快地进行,并且在对网站进行频繁更改时不会有太大问题。以下文章是如何在IIS7中配置它。

http://technet.microsoft.com/en-us/library/cc770661%28WS.10%29.aspx