Truly
写精彩代码 品暇逸人生

路人甲:我有好几个ascx,它们所生成的页面要依赖于某一个session变量,即session不同,生成的页面也不同,这个session变量共有6种值,请问如何为这种ascx加上缓存呢?

Truly:请看代码

.ascx上增加自定义缓存参数
<%@ OutputCache Duration="30" VaryByParam="None" VaryByCustom="custom" %>


Global.asax.cs
增加如下方法
public override string GetVaryByCustomString(HttpContext context, string arg)
{
      if (arg.ToLower () == "custom")
      {
            if(Session["test"] != null)
                  return Session["test"].ToString();
      }
      return base.GetVaryByCustomString (context, arg);
}


 

posted on 2006-04-07 13:56  Truly  阅读(490)  评论(0编辑  收藏  举报