我正在试图弄清楚最简单的方法是强制最终用户浏览器清除缓存。
我们正在使用.Net WebForms和AngularJs
在visual studio中工作因此,每次我们将.Net项目部署到测试或生产环境时,我们都会遇到缓存保存旧javascript并隐藏新实现的问题......
我知道一些解决方案,但我想知道是否还有其他解决方案?
提前致谢!
答案 0 :(得分:3)
右键单击此页面并选择查看源,您将看到后缀为静态文件:
<script src="//cdn.sstatic.net/Js/stub.en.js?v=b1fcfe635df7"></script>
基本上这是一种最好的方法,生成一些后缀并将其作为查询字符串参数附加到所有静态文件的末尾。这将迫使浏览器认为该文件是新的,即查询字符串是否已更改...
这里的问题是你经常更改这些文件的频率...你想多久强迫用户下载新的静态文件...使用生成的时间戳可能会强制用户每次访问时都下载文件该网站,往往不理想....也许使用web.config日期或类似的东西。
答案 1 :(得分:0)
您可以在web.config中添加以下设置以禁用缓存
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>