HttpRequestCacheLevel Enumerazione

Definizione

Specifica il comportamento della cache per le risorse ottenute mediante HTTP (Hypertext Transfer Protocol).Specifies caching behavior for resources obtained using the Hypertext Transfer protocol (HTTP).

public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel = 
Public Enum HttpRequestCacheLevel
Ereditarietà
HttpRequestCacheLevel

Campi

BypassCache 1

Soddisfa una richiesta utilizzando il server.Satisfies a request by using the server. Nessuna voce viene tratta dalle cache, aggiunta alle cache o rimossa dalle cache tra il client e il server.No entries are taken from caches, added to caches, or removed from caches between the client and server. Nessuna voce viene tratta dalle cache, aggiunta alle cache o rimossa dalle cache tra il client e il server.No entries are taken from caches, added to caches, or removed from caches between the client and server. Si tratta del comportamento predefinito della cache specificato nel file di configurazione del computer fornito con .NET Framework.This is the default cache behavior specified in the machine configuration file that ships with the .NET Framework.

CacheIfAvailable 3

Soddisfa una richiesta di una risorsa dalla cache, se la risorsa è disponibile. In caso contrario, invia una richiesta di una risorsa al server.Satisfies a request for a resource from the cache if the resource is available; otherwise, sends a request for a resource to the server. Se l'elemento richiesto è disponibile in una cache tra il client e il server, la richiesta potrebbe essere soddisfatta dalla cache intermedia.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 2

Soddisfa una richiesta mediante la risorsa nella cache locale. Non invia una richiesta di un elemento non presente nella cache.Satisfies a request using the locally cached resource; does not send a request for an item that is not in the cache. Quando è specificato questo livello dei criteri di cache, viene generata un'eccezione WebException se l'elemento non si trova nella cache client.When this cache policy level is specified, a WebException exception is thrown if the item is not in the client cache.

CacheOrNextCacheOnly 7

Soddisfa una richiesta di una risorsa dalla cache del computer locale o da una cache remota nella rete locale.Satisfies a request for a resource either from the local computer's cache or a remote cache on the local area network. Se non possibile soddisfare la richiesta, viene generata un'eccezione WebException.If the request cannot be satisfied, a WebException exception is thrown. Nel protocollo della cache HTTP, questa operazione viene eseguita mediante la direttiva di controllo della cache only-if-cached.In the HTTP caching protocol, this is achieved using the only-if-cached cache control directive.

Default 0

Soddisfa una richiesta di una risorsa utilizzando la copia della risorsa nella cache o inviando una richiesta della risorsa al server.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. L'azione eseguita è determinata dai criteri di cache correnti e dalla durata del contenuto nella cache.The action taken is determined by the current cache policy and the age of the content in the cache. Si tratta del livello di cache che deve essere utilizzato dalla maggior parte delle applicazioni.This is the cache level that should be used by most applications.

NoCacheNoStore 6

Non soddisfa mai una richiesta utilizzando le risorse nella cache e non inserisce le risorse nella cache.Never satisfies a request by using resources from the cache and does not cache resources. Se la risorsa è presente nella cache locale, viene rimossa.If the resource is present in the local cache, it is removed. Questo livello dei criteri indica alle cache intermedie di rimuovere la risorsa.This policy level indicates to intermediate caches that they should remove the resource. Nel protocollo della cache HTTP, questa operazione viene eseguita mediante la direttiva di controllo della cache no-cache.In the HTTP caching protocol, this is achieved using the no-cache cache control directive.

Refresh 8

Soddisfa una richiesta utilizzando il server o una cache diversa da quella locale.Satisfies a request by using the server or a cache other than the local cache. Prima che la richiesta possa essere soddisfatta da una cache intermedia, tale cache deve riconvalidare la voce memorizzata nella cache con il server.Before the request can be satisfied by an intermediate cache, that cache must revalidate its cached entry with the server. Nel protocollo della cache HTTP, questa operazione viene eseguita mediante la direttiva di controllo della cache max-age = 0 e l'intestazione Pragma della direttiva 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 5

Soddisfa una richiesta utilizzando il server.Satisfies a request by using the server. È possibile salvare la risposta nella cache.The response might be saved in the cache. Nel protocollo della cache HTTP, questa operazione viene eseguita mediante la direttiva di controllo della cache no-cache e l'intestazione Pragma della direttiva no-cache.In the HTTP caching protocol, this is achieved using the no-cache cache control directive and the no-cache Pragma header.

Revalidate 4

Confronta la copia della risorsa nella cache con la copia nel server.Compares the copy of the resource in the cache with the copy on the server. Se la copia nel server è più recente, viene usata per soddisfare la richiesta e la copia nella cache viene sostituita.If the copy on the server is newer, it is used to satisfy the request and replaces the copy in the cache. Se la copia nella cache corrisponde alla copia nel server, viene usata la copia memorizzata nella cache.If the copy in the cache is the same as the server copy, the cached copy is used. Nel protocollo di memorizzazione nella cache HTTP, ciò si ottiene usando una richiesta condizionale.In the HTTP caching protocol, this is achieved using a conditional request.

Esempi

Nell'esempio di codice seguente i criteri di memorizzazione nella cache del dominio applicazione vengono impostati sul valore predefinito.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;
}

Commenti

Questa enumerazione viene utilizzata per impostare il livello di cache specificato HttpRequestCachePolicy dagli oggetti.This enumeration is used to set the cache level specified by HttpRequestCachePolicy objects.

Questo BypassCache valore è il comportamento predefinito della cache specificato nel file di configurazione del computer fornito con la .NET Framework.This BypassCache value is the default cache behavior specified in the machine configuration file that ships with the .NET Framework. Nessuna voce viene tratta dalle cache, aggiunta alle cache o rimossa dalle cache tra il client e il server.No entries are taken from caches, added to caches, or removed from caches between the client and server.

La HttpWebRequest.DefaultCachePolicy proprietà viene utilizzata per ottenere o impostare i criteri di cache predefiniti HttpWebRequest per le istanze di.The HttpWebRequest.DefaultCachePolicy property is used to get or set the default cache policy for HttpWebRequest instances. La WebRequest.DefaultCachePolicy proprietà viene utilizzata per ottenere o impostare i criteri di cache predefiniti per WebRequest un'istanza di.The WebRequest.DefaultCachePolicy property is used to get or set the default cache policy for a WebRequest instance. La CachePolicy proprietà viene utilizzata per ottenere o impostare i criteri di cache per una richiesta specifica.The CachePolicy property is used to get or set the cache policy for a specific request.

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 di cache predefinito per la richiesta.So another request for the same resource could use a cached copy, depending on the default cache policy level for this request.

Si applica a

Vedi anche