2009-07-29 2 views
4

Я использую атрибут OutputCache для кэширования вывода html моего действия на стороне сервера.Abort OutputCache длительность программно в asp.net mvc

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

Итак, существует ли способ отменить длительность кэширования страницы?

Спасибо заранее,

Андре Carlucci

ответ

0

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

0

Вы также можете использовать HttpCachePolicy.AddValidationCallback(). Общая идея заключается в том, что когда страница отображается и вставляется в кеш, этот обратный вызов вставляется вместе со страницей. При извлечении страницы из кэша обратный вызов вызывается и делает окончательное определение того, является ли кэшированная страница устаревшей (и должна быть загружена) или действительна (и должна быть подана). См. Пример AuthorizeAttribute source. Если страница устаревает, то действительно реже, тем не менее, вам может быть лучше подан метод RemoveOutputCacheItem(), как указано в другом ответе.

Смежные вопросы