我有一个基于MVC + C#的应用程序,它包含很多js文件,图像和css,基本上是静态内容。它也在生产上运行。客户报告了一个问题,我们通过清除他机器上的缓存提供了即时解决方案。按照我的说法,这不应该是理想的解决方案。 我们在web.config文件中提供了缓存,如下所示:
<staticContent>
<clientCache cacheControlMaxAge="365.00:00:00" cacheControlMode="UseMaxAge" />
</staticContent>
这是一年,所以我如何处理这种情况,如果有一个新的生产部署,静态内容有变化,我如何确定,缓存将被刷新。我们的生产部署通常每2个月进行一次。 通常最好的做法是什么来处理这些缓存事项? 我们也面临这个问题,当我们进行开发,更改静态内容,然后我们的QA测试这些,他们没有找到更改,我们意识到我们必须清除缓存。
答案 0 :(得分:1)
将Bundling
用于js
和Css
。捆绑负责缓存。
它将Bundle的url附加到一些字符。
如果js或Css文件中有任何更改,它会更新附加的url,因此浏览器会将这些文件作为新文件重新加载。
您可以将Bundling与MVC3和高级版本一起使用。