Asp.net IIS 7.5 Web.config文件-哪个缓存指令具有高优先级?
通常,Asp.Net(MVC或非MVC)Web应用程序的Web.config文件在system.webServer部分下有两条缓存指令:Asp.net IIS 7.5 Web.config文件-哪个缓存指令具有高优先级?,asp.net,caching,web-config,iis-7.5,Asp.net,Caching,Web Config,Iis 7.5,通常,Asp.Net(MVC或非MVC)Web应用程序的Web.config文件在system.webServer部分下有两条缓存指令: <staticContent> <clientCache cacheControlMaxAge="07.00:00:00" cacheControlMode="UseMaxAge" /> </staticContent> 这一项将所有静态内容的缓存控制设置为最大年龄:(现在+7天) 同一节中也有本指令: <
<staticContent>
<clientCache cacheControlMaxAge="07.00:00:00" cacheControlMode="UseMaxAge" />
</staticContent>
这一项将所有静态内容的缓存控制设置为最大年龄:(现在+7天)
同一节中也有本指令:
<caching>
<profiles>
<add extension=".jpg" location="Any" policy="CacheForTimePeriod" duration="7.00:00:00" kernelCachePolicy="CacheUntilChange" />
</profiles>
</caching>
此指令将.jpg文件的缓存头设置为过期:7天,并启用所有位置(代理、浏览器等)的缓存
我不明白的是,哪个指令优先于另一个?如果省略.jpg的概要文件,它会接受clientCache指令的值吗?(假设由静态文件处理程序处理)
“kernelCachePolicy”实际上是做什么的?首先,这个参数是IIS如何保存缓存的指令 静态内容缓存,创建IIS,自动添加客户端头,并向浏览器说明如何将内容保留在其缓存上以及保留多长时间 静态内容是不变的内容,如图像
<staticContent>
<clientCache .... />
</staticContent>
您提到的第二个缓存是服务器端缓存。对于dynamica制作的页面,最好使用if。它将呈现的页面保存在内存中,并在请求时从内存中提供
<caching>
<profiles>
<add .... />
</profiles>
</caching>
也在IIS网站上。
谢谢你的回答@Aristos。我认为这意味着它们不会相互影响(或相互覆盖)。由于MVC没有扩展,outputCache是它的首选缓存,缓存配置文件用于特殊情况。@Alaminut是的,它们不会相互覆盖。我个人的意见是在web.config上使用静态内容缓存设置,并对动态缓存使用asp.net编程,这样您就可以通过编程控制它。