Javascript ASP.NET IIS应用程序中的客户端脚本缓存

Javascript ASP.NET IIS应用程序中的客户端脚本缓存,javascript,asp.net,caching,iis,Javascript,Asp.net,Caching,Iis,随着开发的进行,我目前正在测试一个网站,几乎每次更新客户端脚本时,我都需要清除浏览器缓存,以便在客户端上提供新功能,因为浏览器会下载.js文件的最新副本 如果在生产中我推出一个新版本的脚本呢?如何让客户端浏览器在上传到服务器后立即获取它 我正在使用ASP.NET MVC 4站点。重命名文件以创建版本控制: 所以 变成 <script src="myscript-9-5-2012.js"></script> 也 不建议使用querystring进行版本控制(即my

随着开发的进行,我目前正在测试一个网站,几乎每次更新客户端脚本时,我都需要清除浏览器缓存,以便在客户端上提供新功能,因为浏览器会下载.js文件的最新副本

如果在生产中我推出一个新版本的脚本呢?如何让客户端浏览器在上传到服务器后立即获取它


我正在使用ASP.NET MVC 4站点。

重命名文件以创建版本控制:

所以


变成

<script src="myscript-9-5-2012.js"></script>

不建议使用querystring进行版本控制(即myscript.js?v=1.1.0),因为

大多数代理,尤其是3.0版的Squid,不会缓存URL中带有“?”的资源


重命名文件以创建版本控制:

所以


变成

<script src="myscript-9-5-2012.js"></script>

不建议使用querystring进行版本控制(即myscript.js?v=1.1.0),因为

大多数代理,尤其是3.0版的Squid,不会缓存URL中带有“?”的资源


最简单的方法是将版本号添加到脚本文件(如script_1.6.js等)

最简单的方法是将版本号添加到脚本文件(如script_1.6.js等)

停止脚本缓存的最佳方法是在每行末尾添加一个随机查询字符串值。e、 g

 <script src="/path-to-your-script/script.js?v=0b1"></script>

这在开发中非常好,因为脚本永远不会被缓存,尽管在生产中您确实希望浏览器缓存脚本以加快速度


因此,对于生产,您可能希望引入一些版本控制,例如jquery,
jquery-1.8.0.js

阻止脚本缓存的最佳方法是在每行末尾添加一个随机的querystring值。e、 g

 <script src="/path-to-your-script/script.js?v=0b1"></script>

这在开发中非常好,因为脚本永远不会被缓存,尽管在生产中您确实希望浏览器缓存脚本以加快速度

因此,对于生产,您可能希望引入一些版本控制,例如jquery,
jquery-1.8.0.js