RequestCacheLevel RequestCacheLevel RequestCacheLevel RequestCacheLevel Enum

Определение

Указывает поведение кэширования ресурсов, полученных с помощью WebRequest и его производные классы.Specifies caching behavior for resources obtained using WebRequest and its derived classes.

public enum class RequestCacheLevel
public enum RequestCacheLevel
type RequestCacheLevel = 
Public Enum RequestCacheLevel
Наследование
RequestCacheLevelRequestCacheLevelRequestCacheLevelRequestCacheLevel

Поля

BypassCache BypassCache BypassCache BypassCache 1

Выполняет запрос с помощью сервера.Satisfies a request by using the server. Записи не берутся из кэшей, добавляются в кэши или удаляются из кэшей между клиентом и сервером.No entries are taken from caches, added to caches, or removed from caches between the client and server. Это поведение кэша по умолчанию, указанные в файле конфигурации компьютера, который поставляется с .NET Framework.This is the default cache behavior specified in the machine configuration file that ships with the .NET Framework.

CacheIfAvailable CacheIfAvailable CacheIfAvailable CacheIfAvailable 3

Выполняет запрос ресурса из кэша, в том случае, если ресурс доступен; в противном случае отправляет запрос ресурса на сервер.Satisfies a request for a resource from the cache, if the resource is available; otherwise, sends a request for a resource to the server. Если запрошенный элемент доступен в любом кэше между клиентом и сервером, запрос может быть выполнен промежуточным кэшем.If the requested item is available in any cache between the client and the server, the request might be satisfied by the intermediate cache.

CacheOnly CacheOnly CacheOnly CacheOnly 2

Выполняет запрос, используя ресурс из локального кэша; не отправляет запрос элемента, который не находится в кэше.Satisfies a request using the locally cached resource; does not send a request for an item that is not in the cache. Если указан этот уровень политики кэша, WebException исключение вызывается в том случае, если элемент не находится в кэше клиента.When this cache policy level is specified, a WebException exception is thrown if the item is not in the client cache.

Default Default Default Default 0

Выполняет запрос ресурса с помощью кэшированной копии ресурса или путем отправки запроса ресурса на сервер.Satisfies a request for a resource either by using the cached copy of the resource or by sending a request for the resource to the server. Действие, выполняемое определяется текущей политикой кэша и временем существования содержимого в кэше.The action taken is determined by the current cache policy and the age of the content in the cache. Это уровень кэша, который должен использоваться большинством приложений.This is the cache level that should be used by most applications.

NoCacheNoStore NoCacheNoStore NoCacheNoStore NoCacheNoStore 6

Никогда не выполняет запрос, используя ресурсы из кэша и не кэширует ресурсы.Never satisfies a request by using resources from the cache and does not cache resources. Если ресурс есть в локальном кэше, он удаляется.If the resource is present in the local cache, it is removed. Этот уровень политики указывает промежуточных кэшей, что ресурс должен быть удален.This policy level indicates to intermediate caches that they should remove the resource. В протоколе кэширования HTTP это достигается с помощью no-cache директива управления кэшем.In the HTTP caching protocol, this is achieved using the no-cache cache control directive.

Reload Reload Reload Reload 5

Выполняет запрос с помощью сервера.Satisfies a request by using the server. Ответ может быть сохранен в кэше.The response might be saved in the cache. В протоколе кэширования HTTP это достигается с помощью no-cache кэша директива управления и no-cache Pragma заголовка.In the HTTP caching protocol, this is achieved using the no-cache cache control directive and the no-cache Pragma header.

Revalidate Revalidate Revalidate Revalidate 4

Выполняет запрос с помощью кэшированной копии ресурса, если метка времени совпадает с меткой времени ресурса на сервере; в противном случае ресурс загружается с сервера, представляется вызывающему и сохраняется в кэше.Satisfies a request by using the cached copy of the resource if the timestamp is the same as the timestamp of the resource on the server; otherwise, the resource is downloaded from the server, presented to the caller, and stored in the cache.

Примеры

В следующем примере кода создается политика, которая возвращает ресурс только в том случае, если он находится в кэше.The following code example creates policy that returns a resource only if it is in the cache.

static WebResponse^ GetResponseFromCache( Uri^ uri )
{
   RequestCachePolicy^ policy = gcnew RequestCachePolicy( RequestCacheLevel::CacheOnly );
   WebRequest^ request = WebRequest::Create( uri );
   request->CachePolicy = policy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"Policy level is {0}.", policy->Level );
   Console::WriteLine( L"Is the response from the cache? {0}", response->IsFromCache );
   return response;
}
public static WebResponse GetResponseFromCache(Uri uri)
{
     RequestCachePolicy policy = 
        new  RequestCachePolicy( RequestCacheLevel.CacheOnly);
    WebRequest request = WebRequest.Create(uri);
    request.CachePolicy = policy;
    WebResponse response = request.GetResponse();
    Console.WriteLine("Policy level is {0}.", policy.Level.ToString());
    Console.WriteLine("Is the response from the cache? {0}", response.IsFromCache);  
    return response;
    
} 

Комментарии

Элементы этого перечисления используются для инициализации RequestCachePolicy объектов.Members of this enumeration are used to initialize RequestCachePolicy objects. Текущий параметр для RequestCachePolicy объект доступен в HttpRequestCachePolicy.Level свойство.The current setting for a RequestCachePolicy object is available in the HttpRequestCachePolicy.Level property.

Это BypassCache значение является поведение кэша по умолчанию, указанные в файле конфигурации компьютера, который поставляется с .NET Framework.This BypassCache value is the default cache behavior specified in the machine configuration file that ships with the .NET Framework. Записи не берутся из кэшей, добавляются в кэши или удаляются из кэшей между клиентом и сервером.No entries are taken from caches, added to caches, or removed from caches between the client and server.

HttpWebRequest.DefaultCachePolicy Свойство позволяет получить или задать политику кэширования по умолчанию для HttpWebRequest экземпляров.The HttpWebRequest.DefaultCachePolicy property is used to get or set the default cache policy for HttpWebRequest instances. WebRequest.CachePolicy Свойство позволяет получить или задать политику кэширования по умолчанию для WebRequest экземпляров.The WebRequest.CachePolicy property is used to get or set the default cache policy for a WebRequest instances. WebRequest.CachePolicy Свойство используется для получения или задания политики кэша для конкретного запроса.The WebRequest.CachePolicy property is used to get or set the cache policy for a specific request.

Если поведение кэша CacheIfAvailable или Revalidate, копию запрошенный ресурс только добавляется в кэш, если получен и чтения в конец потока в поток ответа для ресурса.If the cache behavior is CacheIfAvailable or Revalidate, a copy of a requested resource is only added to the cache if the response stream for the resource is retrieved and read to the end of the stream. С помощью CacheIfAvailable, последующие запросы на тот же ресурс будет использовать кэшированную копию.With CacheIfAvailable, subsequent requests for the same resource would use a cached copy. С помощью Revalidate, последующие запросы на тот же ресурс будет использовать кэшированную копию, если метка времени для кэшированного ресурса совпадает с меткой времени ресурса на сервере.With Revalidate, subsequent requests for the same resource would use a cached copy if the timestamp for the cached resource is the same as the timestamp of the resource on the server.

Копию ресурса добавляется в кэш, только если получен и чтения в конец потока в поток ответа для ресурса.A copy of a resource is only added to the cache if the response stream for the resource is retrieved and read to the end of the stream. Поэтому другой запрос для одного ресурса может использовать кэшированную копию, в зависимости от уровня политики кэша по умолчанию для данного запроса.So another request for the same resource could use a cached copy, depending on the default cache policy level for this request.

Применяется к

Дополнительно