我已经为特定文件类型在web.config中添加了缓存配置文件:
<system.webServer>
...
<caching>
<profiles>
<add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
</profiles>
</caching>
...
</system.webServer>
同时将策略和kernelCachePolicy都设置为CacheUntilChange会导致堆损坏,从而导致IIS崩溃:
w3wp.exe中0x00007FFRB0414D7B(ntdll.dll)处未处理的异常:0xC0000374:堆已损坏
我不完全了解policy和kernelCachePolicy之间的区别,我当然也不明白为什么将它们设置为将项目存储在缓存中会导致堆损坏。这些应该如何设置。
*这是在EPiServer应用程序上,但是这些是直接的.Net设置,而不是EpiServer特定的。