我想緩存我的asp.net mvc 3應用程序的靜態內容。我在web.config中添加此標記緩存10天:Asp.NET MVC靜態內容緩存不起作用
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="10:00:00" />
</staticContent>
,但作用似乎不工作(使用YSlow的和提琴手檢查)。任何想法爲什麼?
我想緩存我的asp.net mvc 3應用程序的靜態內容。我在web.config中添加此標記緩存10天:Asp.NET MVC靜態內容緩存不起作用
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="10:00:00" />
</staticContent>
,但作用似乎不工作(使用YSlow的和提琴手檢查)。任何想法爲什麼?
根據我們上面交換的意見,我會說客戶端緩存起作用。
你的服務器發送:
Cache-Control:max-age=36000
這意味着,客戶端應該緩存它10小時(60 * 60 * 10 = = 36000)。 如果你真的想10天,配置爲:
cacheControlMaxAge="10.00:00:00"
請注意,客戶可能決定檢索資源再不管你的緩存頭,對於任何數量的原因(如客戶端緩存已經清除,用戶請求全面刷新,客戶端沒有正確實現客戶端緩存等等。)
您是如何得出結論:它不起作用?
我使用YSlow Fiddler和Chrome開發工具對其進行了檢查。每次刷新頁面時,它總是向靜態內容發送請求(http狀態200)。 – pauliusnrk
服務器告訴客戶端正確的事情,但在這種情況下刷新也意味着刷新緩存的資源。如果你只是瀏覽頁面,瀏覽器應該使用緩存版本 – driis
哪個IIS版本? – driis
我在DevServer,IIS Express和IIS 7.5上試過了 – pauliusnrk
服務器根本發送Cache-Control頭嗎? – driis