【发布时间】:2019-10-01 14:24:34
【问题描述】:
是否可以根据用户角色输出不同的缓存控制器操作?或者他们是否经过身份验证?
【问题讨论】:
标签: asp.net-mvc
是否可以根据用户角色输出不同的缓存控制器操作?或者他们是否经过身份验证?
【问题讨论】:
标签: asp.net-mvc
【讨论】:
[小心:此答案自 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);
}
【讨论】: