0
我有一個目錄中的緩存規則通過文件擴展名,並且該目錄中有2個動態頁面。輸出緩存不緩存所有頁面
<configuration>
<system.webServer>
<caching>
<profiles>
<add extension=".asp"
policy="CacheForTimePeriod"
kernelCachePolicy="DontCache"
duration="03:00:00"
location="Any"
varyByQueryString="*" />
</profiles>
</caching>
</system.webServer>
</configuration>
真的是沒有兩者之間的差異顯著,他們都逃跑查詢字符串,但是,IIS不想要緩存其中的一個由於某種原因,我想不通爲什麼。其中一頁完全緩存,但另一頁沒有。我認爲這可能是由於輸出文件大小,因爲緩存的頁面總是小於256kb,另一個通常是結束的,而256kb是MaxCachedFileSize
中的默認設置。所以我添加下面的註冊表按毫秒建議:
HKLM\System\CurrentControlSet\Services\InetInfo\Parameters\MaxCachedFileSize
我將它設置爲10485760個字節(10MB),因爲默認情況下爲256KB。仍然沒有緩存。正如我所說的,同一目錄中的另一個文件緩存很好,但另一個文件卻沒有。不知道它可能是什麼,幾乎沒有任何服務器上使用的內存,所以我不認爲這可能是內存空間不可用的問題。
另外,我讀過在頁面中發送cookie可能會導致IIS不緩存頁面,但這兩個頁面都不發送cookie。