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

标签 asp.net

我希望可以从 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/

相关文章:

c# - 成员(member)提供者+动态连接字符串

c# - 在 asp.net 中处理日期

asp.net - Linq更新记录

asp.net - ASP.Net MVC Cookies不持久

javascript - 如何使用 jquery 从两个复选框列表中获取选中复选框的数量?

c# - 在自动回发功能后将焦点设置回正确的文本框(Page.SetFocus 不能解决问题)

asp.net - 有条件地隐藏 Gridview 中的 CommandField 或 ButtonField

c# 运算符 !不能申请

javascript - 单击时将 CSS 应用于 GridView

javascript - 如何在asp.net中获取数组中的值(或者asp-classic会更好)