2010-08-15 55 views
1

我想問一下如何以編程方式過濾特定頁面的輸出緩存,而不管過期持續時間。以編程方式刪除輸出緩存

我發現了幾個帖子和文章在網上關於這個問題,我發現這個article,這行代碼做的工作

HttpResponse.RemoveOutputCacheItem("/caching/CacheForever.aspx"); 

我試了好幾次,但它不會刪除輸出緩存。

在同一個演示中,有另一種方法來添加輸出緩存使用添加爲緩存依賴項的密鑰我試了一下,它工作正常,但我想知道爲什麼RemoveOutputCacheItem方法不起作用。看來這是做這個工作的人,有什麼想法嗎?

+0

很難回答這個問題沒有更多的細節。顯然,RemoveOutputCacheItem方法應該刪除輸出緩存項目。如果你說這不是,那麼ASP.NET在這裏都有一個bug,這不太可能,或者你做錯了什麼。不知道更多細節,很難說這是什麼。你怎麼知道它沒有清除緩存,你怎麼知道你正在將正確的字符串傳遞給方法? – 2010-08-15 20:44:45

回答

1

一個古老而有用的問題 - 您的代碼行爲我工作,謝謝!當你告訴輸出緩存使用

HttpCacheability.Public或HttpCacheability.Private

然後客戶就不會去檢查客戶端機器上permanetly緩存

一個地方是行不通的情況下,將是直到它自己的緩存被清除,而不管你在服務器端做什麼。