我希望可以从Web.config文件配置持续时间,因此用户可以在部署后更改输出缓存。
为了达到这样的目的,我需要以下ASP.NET标记的quuivalent C#codebehind片段?
<%@ OutputCache Duration="120" VaryByParam="CategoryName" %>
答案 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