阻止 ASP.NET 站点文件被缓存
Prevent ASP.NET site files from being cached
我们有 ASP.NET 表单网站。对于生产,我们使用捆绑,因此缓存脚本没有问题。
对于测试环境,我们希望所有脚本保持非捆绑状态,但我们也希望确保它们不会缓存在用户的浏览器中。
我们是否可以使用 web.config 设置来强制 IIS 发送没有缓存的所有文件 header?或者像这样的东西会阻止调试编译缓存?
在头部使用这个标签
<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>
它也适用于样式表
在您的 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 headers,用于禁用客户端缓存。这将仅适用于调试版本,因为此配置仅存在于 Web.Debug.config 中。
我们有 ASP.NET 表单网站。对于生产,我们使用捆绑,因此缓存脚本没有问题。
对于测试环境,我们希望所有脚本保持非捆绑状态,但我们也希望确保它们不会缓存在用户的浏览器中。
我们是否可以使用 web.config 设置来强制 IIS 发送没有缓存的所有文件 header?或者像这样的东西会阻止调试编译缓存?
在头部使用这个标签
<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>
它也适用于样式表
在您的 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 headers,用于禁用客户端缓存。这将仅适用于调试版本,因为此配置仅存在于 Web.Debug.config 中。