Атрибут контроллера OutputCache зависит от роли пользователя? Возможно ли это в .net MVC? - PullRequest
9 голосов
/ 18 февраля 2010

Можно ли по-разному выводить действия контроллера кэша в зависимости от роли пользователя? или они аутентифицированы или нет?

Ответы [ 2 ]

7 голосов
/ 18 февраля 2010
5 голосов
/ 09 мая 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); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...