RequestCacheLevel Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica il comportamento di memorizzazione nella cache per le risorse ottenute usando WebRequest e le relative classi derivate.
public enum class RequestCacheLevel
public enum RequestCacheLevel
type RequestCacheLevel =
Public Enum RequestCacheLevel
- Ereditarietà
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| Default | 0 | Soddisfa una richiesta di una risorsa usando la copia memorizzata nella cache della risorsa o inviando una richiesta per la risorsa al server. L'azione eseguita è determinata dai criteri della cache correnti e dall'età del contenuto nella cache. Si tratta del livello di cache che deve essere usato dalla maggior parte delle applicazioni. |
| BypassCache | 1 | Soddisfa una richiesta utilizzando il server. Nessuna voce viene ricavata dalla 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. |
| CacheOnly | 2 | Soddisfa una richiesta utilizzando la risorsa memorizzata nella cache locale; non invia una richiesta per un elemento che non si trova nella cache. Quando si specifica questo livello di criteri della cache, viene generata un'eccezione WebException se l'elemento non si trova nella cache client. |
| CacheIfAvailable | 3 | Soddisfa una richiesta di una risorsa dalla cache, se la risorsa è disponibile; in caso contrario, invia una richiesta per una risorsa al server. Se l'elemento richiesto è disponibile in qualsiasi cache tra il client e il server, la richiesta potrebbe essere soddisfatta dalla cache intermedia. |
| Revalidate | 4 | Soddisfa una richiesta utilizzando la copia memorizzata nella cache della risorsa se il timestamp è uguale al timestamp della risorsa nel server; in caso contrario, la risorsa viene scaricata dal server, presentata al chiamante e archiviata nella cache. |
| Reload | 5 | Soddisfa una richiesta utilizzando il server. La risposta potrebbe essere salvata nella cache. Nel protocollo di memorizzazione nella cache HTTP si ottiene usando la |
| NoCacheNoStore | 6 | Non soddisfa mai una richiesta usando risorse dalla cache e non memorizza nella cache le risorse. Se la risorsa è presente nella cache locale, viene rimossa. Questo livello di criteri indica alle cache intermedie che devono rimuovere la risorsa. Nel protocollo di memorizzazione nella cache HTTP si ottiene usando la direttiva di controllo della |
Esempio
Nell'esempio di codice seguente vengono creati criteri che restituiscono una risorsa solo se si trova nella cache.
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 predefinito della cache specificato nel file di configurazione del computer fornito con .NET Framework. Nessuna voce viene ricavata dalla 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 della 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 successive richieste per la stessa risorsa userebbero una copia memorizzata nella cache. Con Revalidate, le successive richieste 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.