2011-02-03 27 views
2

我在ASP.NET頁面上使用OutputCache。我在我的Page_Load中以編程方式將其設置爲這樣:如何禁用ASP.Net頁面上的一個UserControl的OutputCache?

Response.AddFileDependency(cachefilepath); 
Response.Cache.SetExpires(DateTime.Now.AddHours(12)); 
Response.Cache.SetCacheability(HttpCacheability.Server); 
Response.Cache.SetValidUntilExpires(true); 
Response.Cache.SetSlidingExpiration(false); 
Response.Cache.VaryByParams["*"] = true; 

現在頁面將被緩存並且工作正常。但我有一個不應該被緩存的頁面上的UserControl。雖然整個頁面正在緩存,但可以禁用此用戶控件的緩存嗎?

的原因是,該用戶控件的輸出有兩種狀態,因此可以根據自己的行爲每個客戶不同的...

回答

2

Response.Cache是​​每個網頁,你將不得不管理緩存在整個頁面基於用戶控制,換句話說,當你的用戶控件是動態的時候,你將不得不過期頁面緩存,看起來像你的情況頁面輸出緩存將無法正常工作

或者你可以添加VaryByControl和通過該控件,編號:http://msdn.microsoft.com/en-us/library/hdxfb6cy.aspx

相關問題