当我们在IIS 7中发布版本时,我们将新代码部署到服务器上的releases目录,然后将IIS中的网站重新指向新的代码目录。例如:
将网站目录从C:\ company \ releases \ code-5-17-12更改为C:\ company \ releases \ code-5-26-12。
这种策略让我们可以在最糟糕的情况下恢复到以前的版本。但是,我遇到的问题是,当网站上的用户访问某个页面时,有时他们可能需要显式刷新页面才能获得新的更新代码。
这是一个缓存问题吗?有没有办法以某种方式使这个过期,所以该网站的用户将不会加载以前版本的旧代码?
这是javascript文件和css文件的特定问题。
答案 0 :(得分:0)
我让这个工作:
我在每个css和js文件名的末尾添加了?v=<%=DateTime.Now.Ticks%>
,这解决了它。
答案 1 :(得分:0)
该解决方案的问题在于,您的用户将始终下载新的css和js,因为<%=DateTime.Now.Ticks%>
在每次刷新时都会有所不同。
更好的解决方案是连接应用程序的版本,甚至是文件本身的最后修改日期。