IIS浏览器css、js强制更新(系统按开发者需要保持最新)

情景描述一:

当我们在IIS 7中执行发行版时,我们将新代码部署到服务器上的发行版目录,然后将IIS中的网站重新指派给新的代码目录。例如: 将网站目录从C:\ company \ releases \ code-5-17-12更改为C:\ company \ releases \ code-5-26-12。 这种策略可以让我们在最坏的情况下恢复到以前的版本。但是,我遇到的问题是,当网站上的用户转到页面时,有时他们可能需要显式刷新页面以获取新的更新代码。 这是一个缓存问题吗?有没有办法以某种方式过期,以便该网站的用户不会加载以前版本中的旧代码? 这是javascript文件和css文件的特定问题。

对应解决方案:

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

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

情景描述二:

何在发布后让js文件自动更新
浏览器不清除缓存的情况下,让JS文件自动更新
最近在测试数据的时候,经常会出现改变了js文件,而浏览器没有读取新的js文件。tester在测试的时候也经常会出现没有清理缓存就没办法测试最新代码的情况。这个时候如何解决js文件发布后自动加载的问题。

对应解决方案:

在引入js文件名后面加上时间戳或者加上版本号。比如:

test.js?time=20161203″
test.js?v=0609″
总结
简单的方法能够带来高效处理方案,最初我也是想了很多复杂的方案,比如动态导入,js控制导入js文件等方案,都很麻烦或者耗费资源过多,看了下百度的js文件也是加上了版本号,最后就采用这种方案作为js更新方案。

最终方案(部署IIS)

https://www.yudouyudou.com/jiaochengheji/wangzhanjianshe/326.html

上一篇
下一篇