Я пытаюсь кэшировать страницу без навигационной панели страницы. Когда я кечу страницы, все работает нормально, но я получаю нежелательное поведение.Страница кэша без навигатора. Система входа/выхода пользователя не обновляется вообще (MVC)
Объяснение:
Когда я кэшировать страницы для индекса, например, Navbar также кэшируются, так что если пользователь нажал кнопку входа в систему и входа в систему, пользователь перенаправлять на той же странице (Index) и вход в систему не влияет (имя пользователя и кнопка выхода из системы не отображаются), кнопки входа и регистрации все еще отображаются, это проблема.
Это мой код:
Главная Контроллер:
public class HomeController : Controller
{
[OutputCache(Duration=(60*60))]
public ActionResult Index()
{
return View();
}
// ...
}
Могу ли я Варах что-то, чтобы предотвратить это?
Использование решения Donut-Caching, например https://github.com/moonpyk/mvcdonutcaching – haim770
@ haim770 спасибо за помощь, но мне не нужно кэшировать частичный вид из моего представления, а не html.action. Есть ли какое-либо обходное решение? – Ron
Вы должны каким-то образом исключить навигационную панель из процесса кэширования. Другой подход, который вы можете попробовать, - написать Javascript (на стороне клиента), чтобы показать/скрыть соответствующие части на основе текущего состояния аутентификации пользователя. – haim770