Как отключить кэширование вывода для аутентифицированных пользователей в ASP.NET MVC?

У меня есть приложение ASP.NET MVC. Мне нужно кэшировать некоторые страницы, однакотолько для неаутентифицированных пользователей.

мы пытались использоватьVaryByCustom="user" со следующимGetVaryByCustomString реализация:

public override string GetVaryByCustomString(HttpContext context, string custom)
{
  if (custom == "user")
  {
      if (context.User.Identity.IsAuthenticated)
      {
        return context.User.Identity.Name;
      }
      else
      {
        return "";
      }
  }  

  return base.GetVaryByCustomString(context, custom);
}

Однако это неэто именно то, что мне нужно, потому что страницы все еще кэшируются. Разница лишь в том, что сейчас кешируется для каждого пользователя отдельно.

Одним из возможных решений является возвращениеGuid.NewGuid() каждый раз, когда пользователь проходит проверку подлинности, но для меня это выглядит как огромная трата ресурсов.

Так у вас есть какие-нибудь советы для меня?

Ответы на вопрос(3)

Ваш ответ на вопрос