Вопрос

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

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

Итак, есть ли способ программно прервать продолжительность кэша страниц?

Это было полезно?

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top