WebRequest.CachePolicy Propriedade

Definição

Obtém ou define a política de cache para essa solicitação.

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; }
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 da propriedade

Um objeto RequestCachePolicy que define uma política de cache.

Exemplos

O exemplo de código a seguir demonstra a configuração da política de cache para uma solicitação da Web.

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

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

A política de cache atual e a presença do recurso solicitado no cache determinam se uma resposta pode ser recuperada do cache. O uso de respostas armazenadas em cache geralmente melhora o desempenho do aplicativo, mas há o risco de que a resposta no cache não corresponda à resposta no servidor.

A política de cache padrão pode ser especificada no arquivo de configuração Machine.config ou definindo a propriedade DefaultCachePolicy para solicitações que usam o protocolo HTTP (Protocolo de Transferência de Hipertexto) ou o esquema de URI https.

Uma cópia de um recurso só será adicionada ao cache se o fluxo de resposta do recurso for recuperado e lido até o final do fluxo. Portanto, outra solicitação para o mesmo recurso pode usar uma cópia armazenada em cache, dependendo do nível de política de cache dessa solicitação.

Aplica-se a

Confira também