WebRequest.CachePolicy Proprietà

Definizione

Ottiene o imposta i criteri della cache per la richiesta.

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

Valore della proprietà

Oggetto RequestCachePolicy che definisce i criteri della cache.

Esempio

Nell'esempio di codice seguente viene illustrata l'impostazione dei criteri di cache per una richiesta 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;
}

Commenti

I criteri della cache correnti e la presenza della risorsa richiesta nella cache determinano se è possibile recuperare una risposta dalla cache. L'uso delle risposte memorizzate nella cache migliora in genere le prestazioni dell'applicazione, ma esiste un rischio che la risposta nella cache non corrisponda alla risposta nel server.

I criteri di cache predefiniti possono essere specificati nel file di configurazione Machine.config oppure impostando la DefaultCachePolicy proprietà per le richieste che usano lo schema URI HTTP (Hypertext Transfer Protocol) o Secure Hypertext Transfer Protocol (HTTPS).

Una copia di una risorsa viene aggiunta alla cache solo se il flusso di risposta per la risorsa viene recuperato e letto alla fine del flusso. Un'altra richiesta per la stessa risorsa potrebbe quindi usare una copia memorizzata nella cache, a seconda del livello di criteri della cache per questa richiesta.

Si applica a

Vedi anche