WebRequest.CachePolicy Proprietà

Definizione

Ottiene o imposta i criteri della cache per la richiesta.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

Valore della proprietà

Oggetto RequestCachePolicy che definisce i criteri della cache.A RequestCachePolicy object that defines a cache policy.

Esempi

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

Commenti

I criteri di cache correnti e la presenza della risorsa richiesta nella cache determinano se è possibile recuperare una risposta dalla cache.The current cache policy and the presence of the requested resource in the cache determine whether a response can be retrieved from the cache. L'utilizzo di risposte memorizzate nella cache consente in genere di migliorare le prestazioni dell'applicazione, ma il rischio che la risposta nella cache non corrisponda alla risposta sul server.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.

I criteri di cache predefiniti possono essere specificati nel file di configurazione Machine. config oppure impostando la DefaultCachePolicy proprietà per le richieste che utilizzano lo schema URI Hypertext Transfer Protocol (http) o Secure Hypertext Transfer Protocol (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 di una risorsa viene aggiunta alla cache solo se il flusso di risposta per la risorsa viene recuperato e letto alla fine del flusso.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. Pertanto, un'altra richiesta per la stessa risorsa può utilizzare una copia memorizzata nella cache, a seconda del livello di criteri della cache per la richiesta.So another request for the same resource could use a cached copy, depending on the cache policy level for this request.

Si applica a

Vedi anche