UserControls - 以编程方式设置输出缓存持续时间?

时间:2010-04-07 08:36:03

标签: asp.net

我希望可以从Web.config文件配置持续时间,因此用户可以在部署后更改输出缓存。

为了达到这样的目的,我需要以下ASP.NET标记的quuivalent C#codebehind片段?

<%@ OutputCache Duration="120" VaryByParam="CategoryName" %>

2 个答案:

答案 0 :(得分:5)

有一种方法可以以编程方式设置页面的缓存持续时间,但我不确定这是否适用于部分缓存用户控件:

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

您还可以向用户控件添加PartialCaching() attribute以定义缓存:

[PartialCaching(120)]
public partial class CachedControl : System.Web.UI.UserControl
{
    // Class Code
}

虽然我不确定如何以编程方式操作它,但它可能会给你一些想法。

答案 1 :(得分:0)

您可以使用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