防止缓存ASP.NET站点文件

时间:2015-04-15 18:01:00

标签: asp.net caching browser-cache

我们有ASP.NET表单网站。对于生产,我们使用捆绑,因此缓存脚本没有问题。

对于测试环境,我们希望将所有脚本分开,但我们也希望确保它们不会缓存在用户的浏览器中。

我们可以使用web.config设置强制IIS发送没有缓存头的所有文件吗?或者像这样会阻止调试编译从缓存?

2 个答案:

答案 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>

它也适用于样式表