【问题标题】:OutputCache controller attribute vary by user role? Is this possible in .net MVC?OutputCache 控制器属性因用户角色而异?这在.net MVC中可能吗?
【发布时间】:2019-10-01 14:24:34
【问题描述】:

是否可以根据用户角色输出不同的缓存控制器操作?或者他们是否经过身份验证?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    【讨论】:

    【解决方案2】:

    [小心:此答案自 2011 年起有效]

    我们像这样添加 OutputCache 指令:

    <%@ OutputCache Duration="60" VaryByParam="None" VaryByCustom="SessionID" %>
    

    在 MVC 中,将此属性添加到您的操作中

    [OutputCache(Duration = 60, VaryByParam="None", VaryByCustom="SessionID")]
    

    然后,在 Global.asax 文件中

    Public override string GetVaryByCustomString(HttpContext context, string arg) 
    { 
      if(arg.ToLower() == "sessionid") 
      { 
        HttpCookie cookie = context.Request.Cookies["ASP.NET_SessionID"]; 
        if(cookie != null) 
          return cookie.Value; 
      } 
      return base.GetVaryByCustomString(context, arg); 
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多