我希望持续时间可以从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