在浏览器中自动清除缓存

时间:2017-07-11 02:26:48

标签: asp.net-mvc iis web browser

我想知道在访问应用程序时是否可以在浏览器中启用自动清除缓存?问题是,有时当用户在浏览器中访问新发布的asp.net mvc网站时,他们需要清除浏览器缓存以查看新网站,因为该网站的上一版本是在浏览器中反映的网站。我不知道这样做的正确方法。有人可以解释一下吗?谢谢你!

3 个答案:

答案 0 :(得分:0)

当您说清除缓存时,我假设您的意思是jscss个文件

如果是这样,一种方法是在需要刷新时,给它一个不同的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();

This might help you

答案 2 :(得分:0)

正确的方法是在您的网站中实施Cache Busting

  

缓存清除是附加某种形式的文件版本的过程   散列到JavaScript和CSS文件等资源的文件名

它将自动处理缓存以获得性能(如果文件未更改),并且如果文件被更改则不允许缓存。

如果你使用bundling and minification in asp.net,那么这也会照顾你。

asp.net捆绑创建url包含查询字符串对,如{{1}}

  

查询字符串v具有值标记,该标记是使用的唯一标识符   用于缓存。只要捆绑包没有改变,ASP.NET就可以了   应用程序将使用此令牌请求AllMyScripts包。如果   捆绑包中的任何文件都会更改,即ASP.NET优化框架   将生成一个新令牌,保证浏览器请求   bundle将获得最新的包