我希望持續時間可以從Web.config文件配置,因此用戶可以在部署後更改輸出緩存。UserControls - 以編程方式設置輸出緩存持續時間?
爲了實現這樣的puropse,我需要下面的ASP.NET標記的等效C#代碼隱藏片段?
<%@ OutputCache Duration="120" VaryByParam="CategoryName" %>
我希望持續時間可以從Web.config文件配置,因此用戶可以在部署後更改輸出緩存。UserControls - 以編程方式設置輸出緩存持續時間?
爲了實現這樣的puropse,我需要下面的ASP.NET標記的等效C#代碼隱藏片段?
<%@ OutputCache Duration="120" VaryByParam="CategoryName" %>
還有就是編程方式設置緩存持續時間爲頁面的方式,雖然我不知道這是否適用於用戶控制的部分緩存:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.VaryByParams["Category"] = true;
Response.Cache.SetNoServerCaching();
見http://support.microsoft.com/kb/323290
ÿ OU還可以添加一個PartialCaching() attribute到用戶控件定義緩存:
[PartialCaching(120)]
public partial class CachedControl : System.Web.UI.UserControl
{
// Class Code
}
雖然我不知道這到底是怎麼使用編程方式操作,但它可能給你一些想法。
您可以使用Response.Cache
屬性來設置輸出緩存。
在這種情況下:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));
Response.Cache.VaryByParams["Category"] = true;
http://msdn.microsoft.com/en-us/library/y18he7cw%28VS.71%29.aspx
+1。這是通過搜索我遇到了這個問題,我得到了我自己的問題解決。只是想確認上面的第三行:Response.Cache.VaryByParams [「Category」] = true;如果省略,那麼緩存將不起作用。同時使用<% Output %>指令我們必須指定VaryByParam屬性,否則它會拋出異常。 – 2013-06-04 09:54:31