我想知道在访问应用程序时是否可以在浏览器中启用自动清除缓存?问题是,有时当用户在浏览器中访问新发布的asp.net mvc网站时,他们需要清除浏览器缓存以查看新网站,因为该网站的上一版本是在浏览器中反映的网站。我不知道这样做的正确方法。有人可以解释一下吗?谢谢你!
答案 0 :(得分:0)
当您说清除缓存时,我假设您的意思是js
和css
个文件
如果是这样,一种方法是在需要刷新时,给它一个不同的URL
这可以通过在查询字符串中附加版本号来实现,例如:
my.js?v=1.0
所以当它更新为v2时,将其更改为
my.js?v=2.0
和my.js将会更新
与css文件相同
答案 1 :(得分:0)
你试过吗
// Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
// Stop Caching in Firefox
Response.Cache.SetNoStore();
答案 2 :(得分:0)
正确的方法是在您的网站中实施Cache Busting。
缓存清除是附加某种形式的文件版本的过程 散列到JavaScript和CSS文件等资源的文件名
它将自动处理缓存以获得性能(如果文件未更改),并且如果文件被更改则不允许缓存。
如果你使用bundling and minification in asp.net,那么这也会照顾你。
asp.net捆绑创建url包含查询字符串对,如{{1}}
查询字符串v具有值标记,该标记是使用的唯一标识符 用于缓存。只要捆绑包没有改变,ASP.NET就可以了 应用程序将使用此令牌请求AllMyScripts包。如果 捆绑包中的任何文件都会更改,即ASP.NET优化框架 将生成一个新令牌,保证浏览器请求 bundle将获得最新的包