RequestCacheLevel RequestCacheLevel RequestCacheLevel RequestCacheLevel Enum

Definizione

Specifica il comportamento di memorizzazione nella cache per le risorse ottenute mediante WebRequest e le classi derivate.Specifies caching behavior for resources obtained using WebRequest and its derived classes.

public enum class RequestCacheLevel
public enum RequestCacheLevel
type RequestCacheLevel = 
Public Enum RequestCacheLevel
Ereditarietà
RequestCacheLevelRequestCacheLevelRequestCacheLevelRequestCacheLevel

Campi

BypassCache BypassCache BypassCache BypassCache 1

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

CacheIfAvailable CacheIfAvailable CacheIfAvailable CacheIfAvailable 3

Soddisfa una richiesta per una risorsa dalla cache, se la risorsa è disponibile. in caso contrario, invia una richiesta per 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 qualsiasi cache tra il client e server, la richiesta potrebbe essere soddisfatte 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 CacheOnly CacheOnly CacheOnly 2

Soddisfa una richiesta usando la risorsa memorizzati localmente nella cache; non invia una richiesta per un elemento che 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 viene specificato questo livello di criteri di cache, un WebException eccezione viene generata se l'elemento non è presente nella cache del client.When this cache policy level is specified, a WebException exception is thrown if the item is not in the client cache.

Default Default Default Default 0

Soddisfa una richiesta per una risorsa tramite la copia memorizzata nella cache della risorsa o inviando una richiesta per la 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 corrente e la 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 da gran parte delle applicazioni.This is the cache level that should be used by most applications.

NoCacheNoStore NoCacheNoStore NoCacheNoStore NoCacheNoStore 6

Non soddisfa mai una richiesta utilizzando le risorse nella cache e non memorizza nella cache le risorse.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 di 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 viene eseguita mediante il no-cache direttiva di controllo della cache.In the HTTP caching protocol, this is achieved using the no-cache cache control directive.

Reload Reload Reload Reload 5

Soddisfa una richiesta tramite il server.Satisfies a request by using the server. La risposta può essere salvata nella cache.The response might be saved in the cache. Nel protocollo della cache HTTP, questa viene eseguita mediante il no-cache direttiva di controllo e no-cache nella cache Pragma intestazione.In the HTTP caching protocol, this is achieved using the no-cache cache control directive and the no-cache Pragma header.

Revalidate Revalidate Revalidate Revalidate 4

Soddisfa una richiesta mediante la copia memorizzata nella cache della risorsa se il timestamp è identico a quello della risorsa del server. in caso contrario, la risorsa viene scaricata dal server di, presentata al chiamante e memorizzata nella cache.Satisfies a request by using the cached copy of the resource if the timestamp is the same as the timestamp of the resource on the server; otherwise, the resource is downloaded from the server, presented to the caller, and stored in the cache.

Esempi

Esempio di codice seguente consente di creare criteri che restituisce una risorsa solo se è nella cache.The following code example creates policy that returns a resource only if it is in the cache.

static WebResponse^ GetResponseFromCache( Uri^ uri )
{
   RequestCachePolicy^ policy = gcnew RequestCachePolicy( RequestCacheLevel::CacheOnly );
   WebRequest^ request = WebRequest::Create( uri );
   request->CachePolicy = policy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"Policy level is {0}.", policy->Level );
   Console::WriteLine( L"Is the response from the cache? {0}", response->IsFromCache );
   return response;
}
public static WebResponse GetResponseFromCache(Uri uri)
{
     RequestCachePolicy policy = 
        new  RequestCachePolicy( RequestCacheLevel.CacheOnly);
    WebRequest request = WebRequest.Create(uri);
    request.CachePolicy = policy;
    WebResponse response = request.GetResponse();
    Console.WriteLine("Policy level is {0}.", policy.Level.ToString());
    Console.WriteLine("Is the response from the cache? {0}", response.IsFromCache);  
    return response;
    
} 

Commenti

I membri di questa enumerazione vengono utilizzati per inizializzare RequestCachePolicy oggetti.Members of this enumeration are used to initialize RequestCachePolicy objects. L'impostazione corrente per un RequestCachePolicy sono disponibili in oggetti di HttpRequestCachePolicy.Level proprietà.The current setting for a RequestCachePolicy object is available in the HttpRequestCachePolicy.Level property.

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

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

Se è il comportamento della cache CacheIfAvailable o Revalidate, una copia di una risorsa richiesta viene aggiunta solo alla cache, se il flusso di risposta per la risorsa viene recuperato e leggere fino alla fine del flusso.If the cache behavior is CacheIfAvailable or Revalidate, a copy of a requested resource is only added to the cache if the response stream for the resource is retrieved and read to the end of the stream. Con CacheIfAvailable, le successive richieste per la stessa risorsa userà una copia memorizzata nella cache.With CacheIfAvailable, subsequent requests for the same resource would use a cached copy. Con Revalidate, le successive richieste per la stessa risorsa di utilizzare una copia memorizzata nella cache se il timestamp per la risorsa memorizzata nella cache è identico a quello della risorsa nel server.With Revalidate, subsequent requests for the same resource would use a cached copy if the timestamp for the cached resource is the same as the timestamp of the resource on the server.

Una copia di una risorsa viene aggiunto alla cache solo se il flusso di risposta per la risorsa viene recuperato e leggere fino 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. In modo da un'altra richiesta per la stessa risorsa potrebbe usare una copia memorizzata nella cache, a seconda del livello di criteri di cache predefiniti per questa 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