я провожу целый день, чтобы выяснить проблему, но я не мог: Вот проблема: О действии У меня есть атрибут кэш вывода:Является ли VaryByCustom неработоспособным, когда я использую его в кэше вывода или кэшировал его неправильно?
[OutputCache(Duration = 600, VaryByParam = "*", VaryByCustom = "User")]
Также я переписал Global.asax как это:
public override string GetVaryByCustomString(HttpContext context, string arg)
{
if (arg == "User")
{
return "User=" + context.User.Identity.Name;
}
return base.GetVaryByCustomString(context, arg);
}
Но когда я войти в первый раз, он кэширует значения, а затем, когда я пытаюсь выйти из системы и снова войти в систему под другим пользователем я вижу, предыдущее значение в кэше. Во время отладки я проверил, что Identity.Name возвращает правильные результаты для первого пользователя, это «админ» для второго пользователя, это «kate»