我希望可以从 Web.config 文件配置持续时间,以便用户可以在部署后更改输出缓存。
为了实现这样的目的,我需要以下 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
您还可以添加 PartialCaching() attribute到用户控件来定义缓存:
[PartialCaching(120)]
public partial class CachedControl : System.Web.UI.UserControl
{
// Class Code
}
虽然我不确定如何以编程方式操纵它,但它可能会给您一些想法。
关于asp.net - UserControls - 以编程方式设置输出缓存持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2590978/