RequestCacheLevel RequestCacheLevel RequestCacheLevel RequestCacheLevel Enum

Definición

Especifica el comportamiento de almacenamiento en caché para los recursos obtenidos mediante WebRequest y sus clases derivadas.Specifies caching behavior for resources obtained using WebRequest and its derived classes.

public enum class RequestCacheLevel
public enum RequestCacheLevel
type RequestCacheLevel = 
Public Enum RequestCacheLevel
Herencia
RequestCacheLevelRequestCacheLevelRequestCacheLevelRequestCacheLevel

Campos

BypassCache BypassCache BypassCache BypassCache 1

Atiende una solicitud utilizando el servidor.Satisfies a request by using the server. Sin entradas se toman de las memorias caché, se agregan a las memorias caché o se quitan de las memorias caché entre el cliente y servidor.No entries are taken from caches, added to caches, or removed from caches between the client and server. Este es el comportamiento de caché predeterminado especificado en el archivo de configuración del equipo que se distribuye con .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

Atiende una solicitud para un recurso de la memoria caché, si el recurso está disponible; de lo contrario, envía una solicitud para un recurso en el servidor.Satisfies a request for a resource from the cache, if the resource is available; otherwise, sends a request for a resource to the server. Si el elemento solicitado está disponible en cualquier caché entre el cliente y el servidor, se puede satisfacer la solicitud de la caché intermedia.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

Atiende una solicitud mediante el recurso almacenado en caché localmente; no se envía una solicitud para un elemento que no está en la caché.Satisfies a request using the locally cached resource; does not send a request for an item that is not in the cache. Cuando se especifica este nivel de directiva de caché, un WebException excepción se produce si el elemento no está en la caché del cliente.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

Atiende una solicitud para un recurso mediante el uso de la copia en caché del recurso o enviando una solicitud para el recurso en el servidor.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. La acción realizada viene determinada por la directiva de caché actual y la antigüedad del contenido en la memoria caché.The action taken is determined by the current cache policy and the age of the content in the cache. Este es el nivel de caché que se utilizará en la mayoría de las aplicaciones.This is the cache level that should be used by most applications.

NoCacheNoStore NoCacheNoStore NoCacheNoStore NoCacheNoStore 6

Nunca atiende una solicitud mediante el uso de recursos de la memoria caché y no almacena en caché los recursos.Never satisfies a request by using resources from the cache and does not cache resources. Si el recurso está presente en la memoria caché local, se quita.If the resource is present in the local cache, it is removed. Este nivel de directiva indica a las memorias caché intermedias que deben quitar el recurso.This policy level indicates to intermediate caches that they should remove the resource. En el protocolo de almacenamiento en caché HTTP, esto se logra utilizando la no-cache directiva de control de caché.In the HTTP caching protocol, this is achieved using the no-cache cache control directive.

Reload Reload Reload Reload 5

Atiende una solicitud utilizando el servidor.Satisfies a request by using the server. La respuesta podría estar guardada en la memoria caché.The response might be saved in the cache. En el protocolo de almacenamiento en caché HTTP, esto se logra utilizando la no-cache el no almacenar en caché y la directiva de control de caché Pragma encabezado.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

Atiende una solicitud mediante el uso de la copia en caché del recurso si la marca de tiempo es igual que la marca de tiempo del recurso en el servidor. en caso contrario, el recurso se descarga desde el servidor, presenta al llamador y almacenado en la memoria caché.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.

Ejemplos

En el ejemplo de código siguiente se crea la directiva que devuelve un recurso solo si está en la memoria caché.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;
    
} 

Comentarios

Los miembros de esta enumeración se utilizan para inicializar RequestCachePolicy objetos.Members of this enumeration are used to initialize RequestCachePolicy objects. La configuración actual de un RequestCachePolicy objeto está disponible en el HttpRequestCachePolicy.Level propiedad.The current setting for a RequestCachePolicy object is available in the HttpRequestCachePolicy.Level property.

Esto BypassCache valor es el comportamiento de caché predeterminado especificado en el archivo de configuración del equipo que se distribuye con .NET Framework.This BypassCache value is the default cache behavior specified in the machine configuration file that ships with the .NET Framework. Sin entradas se toman de las memorias caché, se agregan a las memorias caché o se quitan de las memorias caché entre el cliente y servidor.No entries are taken from caches, added to caches, or removed from caches between the client and server.

El HttpWebRequest.DefaultCachePolicy propiedad se utiliza para obtener o establecer la directiva de caché predeterminada para HttpWebRequest instancias.The HttpWebRequest.DefaultCachePolicy property is used to get or set the default cache policy for HttpWebRequest instances. El WebRequest.CachePolicy propiedad se utiliza para obtener o establecer la directiva de caché predeterminada para un WebRequest instancias.The WebRequest.CachePolicy property is used to get or set the default cache policy for a WebRequest instances. El WebRequest.CachePolicy propiedad se utiliza para obtener o establecer la directiva de caché para una solicitud específica.The WebRequest.CachePolicy property is used to get or set the cache policy for a specific request.

Si el comportamiento de caché es CacheIfAvailable o Revalidate, una copia de un recurso solicitado solo se agrega a la memoria caché si la secuencia de respuesta para el recurso se recupera y leer hasta el final de la secuencia.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. Con CacheIfAvailable, las siguientes solicitudes para el mismo recurso usaría una copia en caché.With CacheIfAvailable, subsequent requests for the same resource would use a cached copy. Con Revalidate, las siguientes solicitudes para el mismo recurso usaría una copia en caché si la marca de tiempo para el recurso almacenado en caché es igual que la marca de tiempo del recurso en el servidor.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.

Una copia de un recurso solo se agrega a la memoria caché si la secuencia de respuesta para el recurso se recupera y leer hasta el final de la secuencia.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. Por lo que otra solicitud para el mismo recurso podría usar una copia en caché, según el nivel de directiva de caché predeterminada para esta solicitud.So another request for the same resource could use a cached copy, depending on the default cache policy level for this request.

Se aplica a

Consulte también: