Отключить кеширование для частичного представления в MVC 3

У меня проблема с кешированием частичного представления, хотя этого быть не должно. Это частичное представление используется для отображения входа / выхода на странице. Он использует приведенный ниже простой код, чтобы выяснить, какая ссылка для отображения

@if(Request.IsAuthenticated) {    
    <a href="@Url.Action("LogOff", "Account", new { area = "" })">Log Off</a> 
}
else {
    <a href="@Url.Action("LogOn", "Account", new { area = "" })">Log On</a>
}

Это частичное представление вызывается со всеми страницами в моем приложении MVC3, используя

@Html.Partial("_HeaderView")  

. В большинстве моих контроллеров у меня определен кеш вывода, поэтому я могу воспользоваться кешированием моего контента.

[OutputCache(Duration = 86400, VaryByParam = "*")]

Теперь моя проблема в том, что вся страница кэшируется, когда я не хочу, чтобы было частичное представление. Это вызывает неправильное поведение, когда в нем иногда отображается LogOff, даже если пользователь не вошел в систему и т. Д. Есть ли способ кэшировать все содержимое, кроме рассматриваемого частичного представления?

20
задан MuKa 13 June 2017 в 18:26
поделиться