我有一个用ASP.NET 4编写的Web应用程序。我正在使用IIS7并希望在本地缓存我的所有静态内容(js,css,images ...)。 我已将此代码添加到Web应用程序的web.config中
<staticContent>
<clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
</staticContent>
虽然看起来每次我请求一些图像或css文件时,我首先得到200响应然后304 Not Modified响应。而不是浏览器只使用该静态文件的本地缓存版本。
例如,这是图像文件的请求和响应,我第二次请求它:
接受:text / html的,应用/ XHTML + xml的,应用/ XML; Q = 0.9, / 的; Q = 0.8
接收字符集:ISO-8859-1,utf-8; Q = 0.7,*; Q = 0.3
接受编码:gzip,放气,SDCH
接受语言:EN-US,EN; Q = 0.8
缓存控制:最大年龄= 0
连接:保活
的Cookie:USER_ITEMS_SORTBY_COOKIEKEY = 7; ASP.NET_SessionId = gi4yazmfarsdvzedx2ltpdyt;
主机:dev.y * * ** e.co.il
If-Modified-Since:Wed,11 Jan November 19:27:14 GMT
如果-无 - 匹配: “6bc4ec597d0cc1:0”
User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 535.11(KHTML,与Gecko一样)
Chrome / 17.0.963.78 Safari / 535.11
接受-范围:字节
日期:星期六,2012年3月10日22:32:57 GMT
的ETag: “6bc4ec597d0cc1:0”
到期日:太阳,2020年3月29日00:00:00 GMT
最后修改时间:2012年1月11日星期三19:27:14 GMT
服务器:IIS / 7.0
X供电-通过:ASP.NET
我也试过使用直接添加到IIS的方法,但仍然没有。
由于
答案 0 :(得分:1)
<configuration>
<location path="images">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00:00:15" />
</staticContent>
</system.webServer>
</location>
</configuration>
<configuration>
<location path="imagefile.jpg">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
</location>
</configuration>
此处位置路径表示为您的应用程序指定文件/文件夹需求实现...
cacheControlMaxAge - 默认值为1.00:00:00(1天)。