Как отключить кэширование вывода для аутентифицированных пользователей в 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()
каждый раз, когда пользователь проходит проверку подлинности, но для меня это выглядит как огромная трата ресурсов.
Так у вас есть какие-нибудь советы для меня?