2012-04-22 112 views
3

我正在使用本文中的代碼:http://weblogs.asp.net/jeff/archive/2009/07/01/304-your-images-from-a-database.aspx來緩存我從數據庫返回的圖像,但當用戶更改圖像時瀏覽器不會返回到服務器時出現問題檢查時間戳。Asp.NET MVC緩存圖像

我已經在Chrome和IE9中測試了這個,並且chrome幾乎總是返回到服務器來檢查時間戳,如果它已經被編輯過,它會返回新的圖像,IE9從來沒有這樣做,除非我按Ctrl + F5來刷新頁面。

是否有任何人都知道的跨瀏覽器解決方案,以確保瀏覽器總是打電話給服務器,以便我可以檢查時間戳?

非常感謝您的幫助。

回答

1

將到期日期設置爲當前日期/時間,迫使其始終與服務器進行覈對。

Response.Cache.SetExpires(DateTime.Now); 
+1

您可能不想過期* *整個*緩存。 – 2012-10-10 09:02:10

+2

我非常確定,只需在此響應中爲此響應設置Http標頭中的緩存策略即可。不適用於整個網站。 – user351711 2012-10-11 09:59:50

0

user351711的與不同的語法相同的溶液:

Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

+0

這是不一樣的,它禁用緩存而不是過期 – 2013-08-12 08:25:38

+0

它本身並不一樣,但結果是相似的 - 不會有緩存。 – Phil 2014-06-09 21:26:24