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