Web配置中缓存组件之间的差异

时间:2011-09-28 11:05:52

标签: iis caching

Web配置中这两个缓存组件之间的区别是什么?

<staticContent>
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="90.00:00:00" />        
</staticContent>

<caching>
    <profiles>
        <add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
        <add extension=".jpeg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
        <add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
        <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
        <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" />
    </profiles>
</caching>

我真的很难找到第二个版本的信息。当它显示“CacheUntilChange”时为什么构成变化?为什么它会有持续时间呢?

由于

1 个答案:

答案 0 :(得分:1)

我面临着类似的疑虑。这是我从互联网上的大量内容中找到的。

如果我错了,请随时纠正我,或者在我遗漏任何错误的情况下添加更多信息。

1)<staticContent><clientCache&gt;仅在客户端缓存。

缓存配置文件可用于缓存客户端和服务器端的文件。 要在两个集location="ServerAndClient"上进行配置。 policy标记配置客户端缓存策略,kernelCachePolicy标记配置服务器缓存策略。

2)StaticContent缓存不支持基于文件类型或扩展的缓存。

缓存配置文件支持基于扩展的缓存。

3)要对特定位置的文件应用staticContent缓存,您可以使用主web.config中的位置标记,以便staticContent缓存适用于该位置中的所有文件。

e.g。

  <location path="Content/common/images">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlCustom="public" cacheControlMaxAge="86400" cacheControlMode="UseMaxAge"/>
      </staticContent>
    </system.webServer>
  </location>

上述标记会将缓存应用于&#34;内容/公共/图像&#34;中的所有文件。夹。 或者,也可以在需要缓存内容的文件夹中的本地web.config中指定staticContent标记。

对于要应用于特定文件夹的缓存配置文件,您可以在文件夹本地的配置文件中指定缓存配置文件部分。

除了特定于位置的配置文件之外,还将应用主web.config中应用的所有配置文件。

4)要通过IIS配置StaticContent缓存,您需要使用HTTP Response Headers配置窗口

enter image description here

要通过IIS配置缓存配置文件,您需要使用OutputCaching配置窗口。

enter image description here