2013-01-11 82 views
1

誰正在使用IE8的一些用戶越來越緩存的內容,我添加以下代碼段我的global.asax.cs迫使他們的瀏覽器,以獲得新的內容:防止ASP.NET瀏覽器緩存的問題,以及測試

HttpContext.Current.Response.Cache.SetAllowResponseInBrowserHistory(false); 
    HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    HttpContext.Current.Response.Cache.SetNoStore(); 
    Response.Cache.SetExpires(DateTime.Now); 
    Response.Cache.SetValidUntilExpires(true); 

假設一般用戶不知道如何修改IE中的緩存設置,我該如何測試我的更改是否可行?

我不確定爲什麼當我在計算機上運行相同的瀏覽器時,他們會遇到緩存問題(越來越陳舊的內容)? (是天真的程序員,我嘿嘿)

另外,我要確保我不會消滅他們的餅乾或阻止其cookies的存儲等

+1

非常近期的博客文章在這:http://madskristensen.net/post/Cache-busting-in-ASPNET.aspx – Oded

+0

@Oded謝謝,真的很好的博客帖子確實 – Tx3

+0

此鏈接已改變自那時以來 - http:///madskristensen.net/post/cache-busting-in-aspnet - 看起來他只是刪除了.aspx – Jarrod

回答

0

最安全,最可靠的方法來強制重新下載文件(防止緩存)是爲URL附加唯一標識符,時間戳或版本號。除非「指示」重新下載,否則我一般會指示客戶緩存大部分資源(除了某些異步/數據請求和/或含有敏感信息的內容)外,其他資源通過增加版本號。