我正在尝试做一些我认为非常简单的事情。获取IIS 7,以告知客户端他们可以在一定时间内(例如24小时)缓存我站点上的所有图像。
我已经尝试过http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx的步骤,但无济于事。我仍然收到返回到304s的请求到服务器。
有人有办法吗?我有一个图形密集的网站,每次用户请求页面时,我的用户都会受到重击(我的服务器也是如此)。奇怪的是,这些图像似乎在Firebug中显示“Cache-Control private,max-age = 3600”,但是当我按F5键时浏览器仍在请求它们。
最佳答案
不幸的是,如果要设置Cache-Control header ,则IIS7 UI中没有任何东西可以做到这一点。
但是,您可以将此web.config放在要设置它的文件夹或站点的根目录中:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
这将通知客户端在该文件夹和所有子文件夹中缓存内容7天。
您也可以通过
appcmd.exe
编辑IIS7元数据库来做到这一点,如下所示:\ Windows \ system32 \ inetsrv \ appcmd.exe
设置配置“默认网站/文件夹”
-section:system.webServer / staticContent
-clientCache.cacheControlMode:UseMaxAge
\ Windows \ system32 \ inetsrv \ appcmd.exe
设置配置“默认网站/文件夹”
-section:system.webServer / staticContent
-clientCache.cacheControlMaxAge:“7.00:00:00”
关于asp.net - IIS7缓存控制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/642954/