IIS使用web.config缓存具有特定扩展名的所有文件

时间:2015-11-15 08:43:42

标签: http caching iis web-config server

在我的网络配置中,我将其缓存在某个文件夹中,如此

 <location path="img">
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
    </staticContent>
</system.webServer>

但是我的css和js不在某些文件夹中,我希望能够使用这样的通配符:

*.js,*.css,*.png,*.jpg

有没有办法在IIS中从web.config做到这一点?

1 个答案:

答案 0 :(得分:0)

对于我的用例,我想缓存除html之外的所有静态文件。 (这有时称为缓存清除)

为了使其正常工作,html文件不能成为staticContent的一部分。为html文件添加新的处理程序可以防止它们被永久缓存。

    <staticContent>
        <clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
    </staticContent>
    <handlers>
      <add
        name="HtmlHandler"
        path="*.html"
        verb="*"
        type="System.Web.Handlers"
        preCondition="integratedMode"
      />
    </handlers>