在記錄之前清除
回答
創建一個if condition
來檢查登錄帳戶。然後使用此reference中的代碼清除緩存,如果它滿足條件。
使用此代碼,您可以清除瀏覽器緩存。
您也可以在您的網站的LogOut
而不是login
上使用它。
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
或者你也可以做到這一點的方式
https://stackoverflow.com/a/2876701/2218635
您可以通過這種方式定義緩存
HttpContextBase的HttpContext = filterContext.HttpContext; httpContext.Response.AddCacheItemDependency(「Pages」);
和設置緩存時登錄
protected void Application_Start()
{
HttpRuntime.Cache.Insert("Pages", DateTime.Now);
}
和清除緩存時註銷
HttpRuntime.Cache.Insert("Pages", DateTime.Now);
詳情
這並不能清除瀏覽器緩存。它爲您當前正在生成的頁面設置緩存策略,瀏覽器緩存中的某些內容在消耗新的網頁後仍會保留在瀏覽器緩存中。 –
@GaryWalker我已經更新了我的答案,請現在看看哥們 –
您無法編寫代碼來清除客戶端瀏覽器緩存。您可以在首次將日期發送到瀏覽器時爲數據設置控制緩存策略。例如,如果您最初有一個圖像文件,並且在瀏覽器檢索到該圖像文件時到期時間午夜,瀏覽器將不會在午夜之前將文件從其緩存中刪除。如果您需要立即強制瀏覽器獲取不同版本的文件,則URI必須更改 - 即將該文件重命名爲新的(版本2)名稱。
您只能控制發送給瀏覽器(或介入代理服務器,或兩者)的項目的緩存策略。瀏覽器可以忽略策略(如果它想成爲一個非常糟糕的瀏覽器),但不能發送任何可以清除預先存在的瀏覽器緩存的內容。
策略(在http頭文件中)設置諸如過期時間(GMT),相對時間(即緩存持久化)以及no-cache指令。您可以將其設置爲瀏覽器緩存(或代理和共享緩存)。但一旦它通過電線,你不能清除它。
ADDED
我花了一段時間來找到this article explaining how browser caching works。比W3C更容易理解瀏覽器緩存的說明
- 1. Bunyan記錄器在記錄之前清理信息
- 2. 觸發器在刪除記錄之前
- 3. 如何在保存記錄之前清理數據(刪除html標籤)?
- 4. 清除之前的css
- 5. 清除之前的Alexa卡
- 6. 在追加之前清除div
- 7. 清除繼承:在css之前
- 8. 如何在寫入之前清除.txt?
- 9. 清除列表還會清除Java中以前的列表記錄
- 10. 在表中插入記錄之前/之後刪除舊記錄,如果記錄數大於2
- 11. 在rhapsody中清除歷史記錄
- 12. DB2 - 在刪除之前如何測試記錄是否存在
- 13. 谷歌地圖在放置新標記之前清除所有標記
- 14. 在插入新記錄之前檢查記錄的存在
- 15. 在某個日期之前刪除記錄
- 16. Rails has_one build_association在保存之前刪除記錄
- 17. 在鏈接之前從表中刪除不匹配的記錄
- 18. 如何在Stata之前刪除所有觀察記錄?
- 19. 在插入之前刪除SQL服務器表中的記錄
- 20. 如何在刪除記錄之前顯示確認框
- 21. 在刪除記錄之前檢查規則違規
- 22. 查看重複記錄的記錄,創建新記錄之前
- 23. 訪問之前,當前記錄數記錄
- 24. 在處理之前記錄異常
- 25. 在DB寫入記錄之前休眠
- 26. 在Laravel更新之前查看記錄
- 27. MapBox清除所有當前標記
- 28. Powershell清除歷史不會清除歷史記錄
- 29. 清除pushState創建的清除歷史記錄
- 30. 活動記錄 - 查找在今天之前created_at的記錄
清除哪個緩存 - 這是很多或不同類型的緩存 –
http://stackoverflow.com/questions/4757733/how-can-i-programmatically-clear-cache –
Gary..client緩存 – user2483797