如標題所示,如何清除客戶端上的Outputcache?我有幾個Ajax調用需要在用戶執行某些特定操作後清除。在客戶端清除outputcache
我想:
Response.RemoveOutputCacheItem(Url.Action("Action", "Controller"));
但沒有奏效。
我甚至試圖碼的手動終止它(儘管這將是一個不錯的辦法):
Response.Expires = 0;
Response.ExpiresAbsolute = DateTime.Now.AddMinutes(-1);
Response.AddHeader("pragma", "no-cache");
Response.AddHeader("cache-control", "private");
Response.CacheControl = "no-cache";
這並沒有太大制定。我想使用OutputcacheLocation = Client
。如果我將它設置爲Server
上面的示例完美無缺地工作。
但這不同於將其定義爲NoCache?有沒有辦法告訴客戶端瀏覽器清除緩存? – AdrianoRR 2012-04-11 17:14:09
@AdrianoRR:不,它不會是一樣的。首先,客戶端可以忽略NoCache。其次,其他一切仍然被緩存,而不是ajax調用。 – 2012-04-13 16:31:45
我明白你的意思,但我想清除客戶端上的一些特定操作後的緩存。從你的例子來看,我不會在那個Ajax調用上獲得緩存,因爲你正在設置一個不斷變化的時間戳。我相信這幾乎是jQuery的$ .ajax所做的。我需要將緩存保留一段時間,並在我告訴之後將其清除。無論如何,謝謝 – AdrianoRR 2012-04-13 21:01:11