Политика кэшаCache Policy

Политика кэша определяет правила, согласно которым определяется возможность выполнения запроса с помощью кэшированной копии запрашиваемого ресурса.A cache policy defines rules that are used to determine whether a request can be satisfied using a cached copy of the requested resource. В приложениях указываются требования к кэшу клиента в плане актуальности, однако фактическая политика кэша определяется требованиями к кэшу клиента, требованиями сервера к сроку действия и требованиями сервера к повторной проверке.Applications specify client cache requirements for freshness, but the effective cache policy is determined by the client cache requirements, the server's content expiration requirements, and the server's revalidation requirements. Чтобы обеспечить возврат клиентскому приложению самого актуального содержимого, в результате взаимодействия политики кэша клиента и требований сервера всегда применяется наиболее консервативная политика кэша.The interaction of client cache policy and server requirements always results in the most conservative cache policy, to help ensure that the freshest content is returned to the client application.

Политики кэша могут быть основаны на расположении или времени.Cache policies are either location-based or time-based. Политика кэша на основе расположения определяет актуальность записей в кэше на основе расположения, из которого может быть получен запрашиваемый ресурс.A location-based cache policy defines the freshness of cached entries based on where the requested resource can be taken from. Политика кэша на основе времени определяет актуальность записей в кэше на основе времени извлечения ресурса, заголовков, возвращаемых вместе с ним, и текущего времени.A time-based cache policy defines the freshness of cached entries using the time the resource was retrieved, headers returned with the resource, and the current time. Большинство приложений могут использовать политику кэширования по умолчанию на основе времени, которая реализует спецификацию RFC 2616, доступную на веб-сайте Internet Engineering Task Force (IETF).Most applications can use the default time-based cache policy, which implements the caching policy specified in RFC 2616, available at Internet Engineering Task Force (IETF) website.

В приведенной ниже таблице описываются классы, используемые для настройки политик кэширования.The classes described in the following table are used to specify cache policies.

Имя классаClass name ОписаниеDescription
HttpRequestCachePolicy Представляет политики кэша на основе расположения и на основе времени для ресурсов, запрашиваемых с помощью объектов HttpWebRequest.Represents location-based and time-based cache policies for resources requested using HttpWebRequest objects.
RequestCachePolicy Представляет политики кэша на основе расположения или политики кэша на основе времени Default для ресурсов, запрашиваемых с помощью объектов WebRequest.Represents location-based cache policies or the Default time-based cache policy for resources requested using WebRequest objects.
HttpCacheAgeControl Задает значения, используемые для создания объектов HttpRequestCachePolicy на основе времени.Specifies values used to create time-based HttpRequestCachePolicy objects.
HttpRequestCacheLevel Задает значения, используемые для создания объектов HttpRequestCachePolicy на основе расположения и на основе времени.Specifies values used to create location-based and time-based HttpRequestCachePolicy objects.
RequestCacheLevel Задает значения, используемые для создания объектов RequestCachePolicy на основе расположения или на основе времени Default.Specifies values used to create location-based or the Default time-based RequestCachePolicy objects.

Определить политику кэша можно для всех запросов, совершаемых приложением, или для отдельных запросов.You can define a cache policy for all requests made by your application or for individual requests. Если определены политики кэша как на уровне приложения, так и на уровне запросов, применяется политика на уровне запросов.When you specify both an application-level cache policy and a request-level cache policy, the request-level policy is used. Политику кэша на уровне приложения можно настроить программными средствами либо с помощью файлов конфигурации приложения или компьютера.You can specify an application-level cache policy programmatically or by using the application or machine configuration files. Дополнительные сведения см. в разделе Элемент <requestCaching> (параметры сети).For more information, see <requestCaching> Element (Network Settings).

Чтобы создать политику кэша, необходимо создать объект политики как экземпляр класса RequestCachePolicy или HttpRequestCachePolicy.To create a cache policy, you must create a policy object by creating an instance of the RequestCachePolicy or HttpRequestCachePolicy class. Чтобы задать политику для запроса, присвойте объект политики свойству CachePolicy запроса.To specify the policy on a request, set the request's CachePolicy property to the policy object. Если вы настраиваете политику на уровне приложения программными средствами, присвойте объект политики свойству DefaultCachePolicy.When setting an application-level policy programmatically, set the DefaultCachePolicy property to the policy object.

Примеры кода, демонстрирующие создание и использование политик кэша, см. в разделе Настройка кэширования в сетевых приложениях.For code examples that demonstrate creating and using cache policies, see Configuring Caching in Network Applications.

См. такжеSee also