在 IIS 7 上强制刷新图像

在 IIS 7 上强制刷新图像

如何强制 IIS 7不是在某个页面上缓存图像?

答案1

我认为 IIS 网络服务器不是缓存页面的服务器 - 它是客户端的浏览器。

您可以向不希望客户端缓存的页面添加元标记,并且有多种方法可以针对不同的旧版浏览器等执行此操作。

如果您用 ASP 编写并想要相同的非缓存效果,这里是标题信息。

<% Response.CacheControl = "no-cache" %>>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>

答案2

您正在寻找的是缓存控制标头值(请注意,这仅适用于尊重 http 1.1 的浏览器)

对于 asp 代码是:

<% @Language="VBScript" %>
<% Response.CacheControl = "no-cache" %>

您也可以使用元数据库直接在文件夹上进行设置:

以下是在默认网站上设置文件夹 pix 的方法:打开命令提示符并切换到 C:\InetPub\AdminScripts 文件夹。运行以下命令:CSCRIPT ADSUTIL.VBS SET W3SVC/1/ROOT/pix/CacheControlCustom "no-cache"

注意可能的值是“no-cache”,“Public”,“Private”

您也可以通过 ADSI 进行设置:

Option Explicit
Dim objCache
Set objCache = GetObject("IIS://localhost/w3svc/1/root/pix")
objCache.CacheControlCustom = "no-cache"
objCache.SetInfo

到目前为止,只要您安装了 IIS6 管理工具,这些方法就可以在 IIS6 和 IIS7 上使用。对于纯 IIS7 环境,以下是 appcmd 命令:

首先解锁配置部分

appcmd unlock config /section:staticContent

现在您可以更改静态内容的缓存选项。通过设置“Cache-Control: no-cache”使静态内容不可缓存:

appcmd set config "Default Web Site/<Application>/<Folder>" /section:staticContent /clientCache.cacheControlMode:DisableCache

<Application>/<Folder>你的文件夹路径在哪里

也可以看看IIS 7.0:staticContent 的 clientCache 元素(IIS 设置架构)

相关内容