У меня проблема с кешированием частичного представления, хотя этого быть не должно. Это частичное представление используется для отображения входа / выхода на странице. Он использует приведенный ниже простой код, чтобы выяснить, какая ссылка для отображения
@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, даже если пользователь не вошел в систему и т. Д. Есть ли способ кэшировать все содержимое, кроме рассматриваемого частичного представления?