WebRequest.CachePolicy Propiedad

Definición

Obtiene o establece la directiva de caché para esta solicitud.Gets or sets the cache policy for this request.

public:
 virtual property System::Net::Cache::RequestCachePolicy ^ CachePolicy { System::Net::Cache::RequestCachePolicy ^ get(); void set(System::Net::Cache::RequestCachePolicy ^ value); };
public virtual System.Net.Cache.RequestCachePolicy CachePolicy { get; set; }
member this.CachePolicy : System.Net.Cache.RequestCachePolicy with get, set
Public Overridable Property CachePolicy As RequestCachePolicy

Valor de propiedad

Un objeto RequestCachePolicy que define una directiva de caché.A RequestCachePolicy object that defines a cache policy.

Ejemplos

En el ejemplo de código siguiente se muestra la configuración de la Directiva de caché para una solicitud Web.The following code example demonstrates setting the cache policy for a Web request.

// 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

La Directiva de caché actual y la presencia del recurso solicitado en la memoria caché determinan si se puede recuperar una respuesta de la memoria caché.The current cache policy and the presence of the requested resource in the cache determine whether a response can be retrieved from the cache. El uso de respuestas almacenadas en caché suele mejorar el rendimiento de las aplicaciones, pero existe el riesgo de que la respuesta en la memoria caché no coincida con la respuesta en el servidor.Using cached responses usually improves application performance, but there is a risk that the response in the cache does not match the response on the server.

Se puede especificar la Directiva de caché predeterminada en el archivo de configuración Machine. config o DefaultCachePolicy estableciendo la propiedad para las solicitudes que usan el esquema de URI del Protocolo de transferencia de hipertexto (http) o del Protocolo de transferencia de hipertexto seguro (https).Default cache policy can be specified in the Machine.config configuration file or by setting the DefaultCachePolicy property for requests that use the Hypertext Transfer Protocol (HTTP) or Secure Hypertext Transfer Protocol (HTTPS) URI scheme.

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

Se aplica a

Consulte también: