Как очистить / истечь срок действия кэша браузера при выходе? - PullRequest
3 голосов
/ 14 июня 2009

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

Меню на моем сайте отличается от входа в систему и выхода из системы посетителей. Если страница входа в систему кэшируется, то даже когда пользователь выходит из системы, меню остается в режиме входа в систему. На самом деле это не так, но в браузере этого посетителя это так.

Как можно очистить / удалить этот кэш, чтобы браузер посетителя обновлялся по мере необходимости, но при этом иметь возможность использовать кэш браузера?

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 14 июня 2009

Для HTML-страниц это сложно. По этой же причине я отключил клиентское кеширование и попытался сделать кеширование на сервере максимально эффективным. Теперь я использую OutputCache с VaryByCustom, установленным в состояние входа в систему.

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

И на заметку: для статуса входа в систему я использовал кеширование пончиков. Но я не смог заставить его работать с динамическим сжатием (чтобы уменьшить узкое место пропускной способности, упомянутое выше)

См. Также этот вопрос

0 голосов
/ 14 июня 2009

Вы можете сделать это с атрибутом AutoRefresh в вашем методе действия. Вот несколько примеров:

[AutoRefresh(ControllerName = "Home", ActionName = "About", DurationInSeconds = 10)] 
public ActionResult Index1() 
{
}
AutoRefresh(ActionName = "About", DurationInSeconds = 15)] 
public ActionResult Index2() 
{
}
[AutoRefresh(RouteName = "ByFavoriteRoute", DurationInSeconds = 30)] 
public ActionResult Index3() 
{
}
[AutoRefresh(DurationInSeconds = 45)] 
public ActionResult Index4()
{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...