Поделиться через


Политики кэша Location-Based

Политика кэша на основе расположения определяет свежесть допустимых кэшированных записей в зависимости от того, откуда может быть взят запрошенный ресурс. Кэшированный ресурс действителен, если он не нарушает требования к повторной проверке, заданные сервером. Политика кэша на основе расположения создается программно с помощью конструктора класса RequestCachePolicy или HttpRequestCachePolicy. Тип политики на основе расположения передается конструктору с помощью значения перечисления RequestCacheLevel или HttpRequestCacheLevel. Примеры кода, создающие политики кэша на основе расположения, см. в статье "Практическое руководство. Настройка политики кэша Location-Based для приложения". В следующих разделах описывается каждый тип политики кэша на основе расположения для ресурсов протокола передачи гипертекста (http и https).

Политика "Кэш при наличии"

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

Политика только кэша

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

Политика кэша или только следующего кэша

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

Политика отсутствия кэша и хранилища

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

Обновление политики

Запрошенный ресурс можно использовать, если он получен с сервера или найден в кэше, отличном от локального кэша. Прежде чем запрос может быть удовлетворен промежуточным кэшем, этот кэш должен проверить свою кэшированную запись с сервером. В протоколе кэширования HTTP это достигается с помощью директивы управления кэшем max-age=0 и заголовка Pragma no-cache.

Политика перезагрузки

Запрошенные ресурсы должны быть получены с сервера. Ответ может быть сохранен в локальном кэше. В протоколе кэширования HTTP это достигается с помощью директивы управления кэшированием no-cache и заголовка Pragma no-cache.

Проверка политики заново

Сравнивает копию ресурса в кэше с копией на сервере. Если копия на сервере более новая, она используется для удовлетворения запроса и заменяет копию в кэше. Если копия в кэше совпадает с копией сервера, используется кэшируемая копия. В протоколе кэширования HTTP это достигается с помощью условного запроса.

См. также