我们有ASP.NET表单网站。对于生产,我们使用捆绑,因此缓存脚本没有问题。
对于测试环境,我们希望将所有脚本分开,但我们也希望确保它们不会缓存在用户的浏览器中。
我们可以使用web.config设置强制IIS发送没有缓存头的所有文件吗?或者像这样会阻止调试编译从缓存?
答案 0 :(得分:1)
在您的Web.Debug.config中,添加以下内容:
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="no-cache, no-store" />
<add name="Pragma" value="no-cache" />
<add name="Expires" value="-1" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
以下配置添加必要的HTTP标头,用于禁用客户端缓存。这仅适用于调试版本,因为此配置仅存在于Web.Debug.config中。
可以找到标题的深入说明here。
答案 1 :(得分:0)
在头部
中使用此标记<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
并且您还可以添加?
符号并在src
属性的末尾添加变量,这会强制浏览器重新加载源
<script type="text/javascript" src="JS/jquery-1.11.2.min.js?v=1.0"></script>
它也适用于样式表