Jak wyłączyć buforowanie danych wyjściowych dla uwierzytelnionych użytkowników w ASP.NET MVC?
Mam aplikację ASP.NET MVC. Muszę jednak buforować niektóre stronytylko dla nieuwierzytelnionych użytkowników.
Próbowałem użyćVaryByCustom="user"
z następującymiGetVaryByCustomString
realizacja:
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);
}
Nie jest to jednak dokładnie to, czego potrzebuję, ponieważ strony są nadal buforowane. Jedyną różnicą jest to, że teraz jest buforowany dla każdego użytkownika osobno.
Jednym z możliwych rozwiązań jest powrótGuid.NewGuid()
za każdym razem, gdy użytkownik jest uwierzytelniony, ale wygląda to na ogromne marnotrawstwo zasobów.
Czy masz dla mnie jakieś wskazówki?