RequestCacheLevel Enumerazione

Definizione

Specifica il comportamento della cache per le risorse ottenute mediante WebRequest e le classi derivate.

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

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. 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.

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.

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

Soddisfa una richiesta utilizzando la copia memorizzata nella cache della risorsa se il timestamp è identico a quello della risorsa sul server. In caso contrario, la risorsa viene scaricata dal server, presentata al chiamante e memorizzata nella cache.

Esempio

Nell'esempio di codice seguente vengono creati criteri che restituiscono una risorsa solo se si trova nella 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 gli oggetti. L'impostazione corrente per un RequestCachePolicy oggetto è disponibile nella HttpRequestCachePolicy.Level proprietà .

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.CachePolicy proprietà viene utilizzata per ottenere o impostare i criteri di cache predefiniti per un'istanza WebRequest di . La WebRequest.CachePolicy proprietà viene utilizzata per ottenere o impostare i criteri di cache per una richiesta specifica.

Se il comportamento della cache è CacheIfAvailable o Revalidate, una copia di una risorsa richiesta viene aggiunta alla cache solo se il flusso di risposta per la risorsa viene recuperato e letto alla fine del flusso. Con CacheIfAvailable, le richieste successive per la stessa risorsa userebbero una copia memorizzata nella cache. Con Revalidate, le richieste successive per la stessa risorsa userebbero una copia memorizzata nella cache se il timestamp per la risorsa memorizzata nella cache corrisponde al timestamp della risorsa nel server.

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