Dlaczego buforowanie danych wyjściowych nie działa w mojej aplikacji ASP.NET MVC 4?
Mam problem z tym, że buforowanie danych wyjściowych nie działa dla mojej strony ASP.NET MVC 4 (EPiServer 7).
Mam następujący wyjściowy profil pamięci podręcznej w moimweb.config
:
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="PageOutput" enabled="true" duration="300" varyByParam="*" location="ServerAndClient" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
Oto moja konfiguracja buforowania danych wyjściowych dla zasobów statycznych:
<caching>
<profiles>
<add extension=".gif" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".png" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".js" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".css" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="00:01:00" location="Any" />
<add extension=".jpg" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".jpeg" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="00:01:00" location="Any" />
</profiles>
</caching>
A mój kontroler jest ozdobiony atrybutem wyjściowej pamięci podręcznej w taki sposób:
[OutputCache(CacheProfile = "PageOutput")]
public class HomePageController : BasePageController<HomePage>
{ ...}
Oglądam następujące liczniki w perfmon, ale nie widzę ich przyrostów zgodnie z oczekiwaniami, gdy odwiedzam stronę główną:
\ASP.NET Apps v4.0.30319(__Total__)\Output Cache Entries
\ASP.NET Apps v4.0.30319(__Total__)\Output Cache Hits
Testowałem też używająctinyget
w ten sposób:
tinyget -srv:mywebsite -uri:/ -threads:1 -loop:20
Wszelkie porady byłyby bardzo mile widziane!