HttpRequestCacheLevel Enumerazione

Definizione

Specifica il comportamento della cache per le risorse ottenute mediante HTTP (Hypertext Transfer Protocol).

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

Campi

BypassCache 1

Soddisfa una richiesta utilizzando il server. Nessuna voce viene tratta dalle cache, aggiunta alle cache o rimossa dalle cache tra il client e il server. Nessuna voce viene tratta dalle cache, aggiunta alle cache o rimossa dalle cache tra il client e il server. Si tratta del comportamento predefinito della cache specificato nel file di configurazione del computer fornito con .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. Se l'elemento richiesto è disponibile in una cache tra il client e il server, la richiesta potrebbe essere soddisfatta dalla cache intermedia.

CacheOnly 2

Soddisfa una richiesta mediante la risorsa nella cache locale. Non invia una richiesta di un elemento non presente nella cache. Quando è specificato questo livello dei criteri di cache, viene generata un'eccezione WebException se l'elemento non si trova nella cache client.

CacheOrNextCacheOnly 7

Soddisfa una richiesta di una risorsa dalla cache del computer locale o da una cache remota nella rete locale. Se non possibile soddisfare la richiesta, viene generata un'eccezione WebException. Nel protocollo della cache HTTP, questa operazione viene eseguita mediante la direttiva di controllo della cache only-if-cached.

Default 0

Soddisfa una richiesta di una risorsa utilizzando la copia della risorsa nella cache o inviando una richiesta della risorsa al server. L'azione eseguita è determinata dai criteri di cache correnti e dalla durata del contenuto nella cache. Si tratta del livello di cache che deve essere utilizzato dalla maggior parte delle applicazioni.

NoCacheNoStore 6

Non soddisfa mai una richiesta utilizzando le risorse nella cache e non inserisce le risorse nella cache. Se la risorsa è presente nella cache locale, viene rimossa. Questo livello dei criteri indica alle cache intermedie di rimuovere la risorsa. Nel protocollo della cache HTTP, questa operazione viene eseguita mediante la direttiva di controllo della cache no-cache.

Refresh 8

Soddisfa una richiesta utilizzando il server o una cache diversa da quella locale. Prima che la richiesta possa essere soddisfatta da una cache intermedia, tale cache deve riconvalidare la voce memorizzata nella cache con il 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.

Reload 5

Soddisfa una richiesta utilizzando il server. È possibile salvare la risposta nella 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.

Revalidate 4

Confronta la copia della risorsa nella cache con la copia nel server. Se la copia nel server è più recente, viene usata per soddisfare la richiesta e la copia nella cache viene sostituita. Se la copia nella cache corrisponde alla copia nel server, viene usata la copia memorizzata nella cache. Nel protocollo di memorizzazione nella cache HTTP, ciò si ottiene usando una richiesta condizionale.

Esempio

Nell'esempio di codice seguente vengono impostati i criteri di memorizzazione nella cache del dominio applicazione su 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 dagli HttpRequestCachePolicy oggetti .

Questo BypassCache valore è il comportamento della cache predefinito specificato nel file di configurazione del computer fornito con il .NET Framework. Nessuna voce viene tratta dalle cache, aggiunta alle cache o rimossa dalle cache tra il client e il server.

La HttpWebRequest.DefaultCachePolicy proprietà viene utilizzata per ottenere o impostare i criteri di cache predefiniti per HttpWebRequest le istanze. La WebRequest.DefaultCachePolicy proprietà viene utilizzata per ottenere o impostare i criteri di cache predefiniti per un'istanza WebRequest di . La CachePolicy proprietà viene utilizzata per ottenere o impostare i criteri di cache per una richiesta specifica.

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 predefinito per questa richiesta.

Si applica a

Vedi anche