2013-05-27 86 views
2

是否有可能更改輸出緩存,以及它的持續時間爲特定的控制,從代碼隱藏?ASP.NET - 服務器控制輸出緩存

我的意思是,讓我們說我有控制有:

<%@ OutputCache Duration="60" VaryByCustom="language" %> 

現在我想的地方寫一些代碼,這將決定動態,如果使用輸出緩存,什麼將是緩存的持續時間。可能嗎?

我想,我將能夠使用CodeProject上描述的自定義OutputCacheProvider,但我無法找到如何去做的方法。

回答

0

你可以做到這一點這裏http://support.microsoft.com/kb/323290

使用response.cache看到細節

if (x==y) 
{ 
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.Public); 
HttpContext.Current.Response.Cache.SetExpires(DateTime.Now.AddSeconds(6700)); 
HttpContext.Current.Response.Cache.SetValidUntilExpires(true); 
} 

看到類似的問題Conditionally add OutputCache Directive

+1

謝謝,但我不知道它會工作。如果我將使用HttpContext.Current.Response.Cache,我認爲它會緩存頁面的整個輸出,但我試圖操作緩存,僅用於頁面上的特定控件而不是整個頁面。該頁面有許多無法緩存的元素。 –