HttpRequestCacheLevel HttpRequestCacheLevel HttpRequestCacheLevel HttpRequestCacheLevel Enum

Definición

Especifica el comportamiento de almacenamiento en caché para los recursos obtenidos utilizando el protocolo de transferencia de hipertexto (HTTP).Specifies caching behavior for resources obtained using the Hypertext Transfer protocol (HTTP).

public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel = 
Public Enum HttpRequestCacheLevel
Herencia
HttpRequestCacheLevelHttpRequestCacheLevelHttpRequestCacheLevelHttpRequestCacheLevel

Campos

BypassCache BypassCache BypassCache BypassCache 1

Atiende una solicitud utilizando el servidor.Satisfies a request by using the server. Ninguna entrada se obtiene de las memorias caché, ni se agrega o se quita 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. Ninguna entrada se obtiene de las memorias caché, ni se agrega o se quita 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. Éste es el comportamiento predeterminado de la caché 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 de un recurso de la caché si el recurso está disponible; de lo contrario, envía una solicitud de un recurso al 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, la caché intermedia podría atender la solicitud.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 la memoria caché local; no envía una solicitud de un elemento que no se encuentre 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é, se produce una excepción WebException 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.

CacheOrNextCacheOnly CacheOrNextCacheOnly CacheOrNextCacheOnly CacheOrNextCacheOnly 7

Atiende una solicitud de un recurso de la caché del equipo local o de una caché remota en la red de área local.Satisfies a request for a resource either from the local computer's cache or a remote cache on the local area network. Si no se puede atender la solicitud, se produce una excepción WebException.If the request cannot be satisfied, a WebException exception is thrown. En el protocolo de almacenamiento en caché HTTP, esto se logra utilizando la directiva de control de caché only-if-cached.In the HTTP caching protocol, this is achieved using the only-if-cached cache control directive.

Default Default Default Default 0

Atiende una solicitud de un recurso utilizando la copia almacenada en caché del recurso o enviando una solicitud del recurso al 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 directiva de caché actual y la antigüedad del contenido de la caché determinan la acción que se va a realizar.The action taken is determined by the current cache policy and the age of the content in the cache. Éste es el nivel de caché que deben utilizar 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 utilizando los recursos de la caché y no almacena los recursos en memoria caché.Never satisfies a request by using resources from the cache and does not cache resources. Si el recurso está presente en la 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 directiva de control de caché no-cache.In the HTTP caching protocol, this is achieved using the no-cache cache control directive.

Refresh Refresh Refresh Refresh 8

Atiende una solicitud utilizando el servidor o una caché distinta de la caché local.Satisfies a request by using the server or a cache other than the local cache. Antes de que una caché intermedia pueda atender a la solicitud, esa caché debe revalidar su entrada almacenada en caché con el servidor.Before the request can be satisfied by an intermediate cache, that cache must revalidate its cached entry with the server. En el protocolo de almacenamiento en caché HTTP, esto se logra utilizando la directiva de control de caché max-age = 0 y el encabezado Pragma no-cache.In the HTTP caching protocol, this is achieved using the max-age = 0 cache control directive and the no-cache Pragma header.

Reload Reload Reload Reload 5

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

Compara la copia del recurso en la caché con la copia en el servidor.Compares the copy of the resource in the cache with the copy on the server. Si la copia en el servidor es más reciente, se usa para atender a la solicitud y reemplaza a la copia en la caché.If the copy on the server is newer, it is used to satisfy the request and replaces the copy in the cache. Si la copia en la caché es la misma que la del servidor, se usa la copia almacenada en caché.If the copy in the cache is the same as the server copy, the cached copy is used. En el protocolo de almacenamiento en caché HTTP, esto se logra mediante una solicitud condicional.In the HTTP caching protocol, this is achieved using a conditional request.

Ejemplos

El ejemplo de código siguiente establece la directiva de caché del dominio de aplicación al valor predeterminado.The following code example sets the application domain's caching policy to Default.

// The following method demonstrates overriding the
// caching policy for a request.
static WebResponse^ GetResponseNoCache( Uri^ uri )
{
   // Set a default policy level for the "http:" and "https" schemes.
   HttpRequestCachePolicy^ policy = gcnew HttpRequestCachePolicy( HttpRequestCacheLevel::Default );
   HttpWebRequest::DefaultCachePolicy = policy;

   // Create the request.
   WebRequest^ request = WebRequest::Create( uri );

   // Define a cache policy for this request only. 
   HttpRequestCachePolicy^ noCachePolicy = gcnew HttpRequestCachePolicy( HttpRequestCacheLevel::NoCacheNoStore );
   request->CachePolicy = noCachePolicy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"IsFromCache? {0}", response->IsFromCache );
   
   return response;
}
// The following method demonstrates overriding the
// caching policy for a request.
public static WebResponse GetResponseNoCache(Uri uri)
{
    // Set a default policy level for the "http:" and "https" schemes.
    HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Default);
    HttpWebRequest.DefaultCachePolicy = policy;
    // Create the request.
    WebRequest request = WebRequest.Create(uri);
    // Define a cache policy for this request only. 
    HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
    request.CachePolicy = noCachePolicy;
    WebResponse response = request.GetResponse();
    Console.WriteLine("IsFromCache? {0}", response.IsFromCache);            
    return response;
}

Comentarios

Esta enumeración se usa para establecer el nivel de caché especificado por HttpRequestCachePolicy objetos.This enumeration is used to set the cache level specified by HttpRequestCachePolicy objects.

Este valor BypassCache 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. Ninguna entrada se obtiene de las memorias caché, ni se agrega o se quita 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.DefaultCachePolicy instancias.The HttpWebRequest.DefaultCachePolicy property is used to get or set the default cache policy for HttpWebRequest.DefaultCachePolicy instances. El WebRequest.CachePolicy propiedad se utiliza para obtener o establecer la directiva de caché predeterminada para un WebRequest.CachePolicy instancias.The WebRequest.CachePolicy property is used to get or set the default cache policy for a WebRequest.CachePolicy 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.

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: