IIS ASP.NET css / js文件在强制页面刷新之前不会更新

时间:2012-05-25 17:19:22

标签: iis-7 release browser-cache

当我们在IIS 7中发布版本时,我们将新代码部署到服务器上的releases目录,然后将IIS中的网站重新指向新的代码目录。例如:

将网站目录从C:\ company \ releases \ code-5-17-12更改为C:\ company \ releases \ code-5-26-12。

这种策略让我们可以在最糟糕的情况下恢复到以前的版本。但是,我遇到的问题是,当网站上的用户访问某个页面时,有时他们可能需要显式刷新页面才能获得新的更新代码。

这是一个缓存问题吗?有没有办法以某种方式使这个过期,所以该网站的用户将不会加载以前版本的旧代码?

这是javascript文件和css文件的特定问题。

2 个答案:

答案 0 :(得分:0)

我让这个工作:

我在每个css和js文件名的末尾添加了?v=<%=DateTime.Now.Ticks%>,这解决了它。

答案 1 :(得分:0)

该解决方案的问题在于,您的用户将始终下载新的css和js,因为<%=DateTime.Now.Ticks%>在每次刷新时都会有所不同。 更好的解决方案是连接应用程序的版本,甚至是文件本身的最后修改日期。