HttpRequestCacheLevel 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 il protocollo HTTP (Hypertext Transfer Protocol).
public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel =
Public Enum HttpRequestCacheLevel
- 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. 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 | 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 sostituisce la copia nella cache. Se la copia nella cache corrisponde alla copia del server, viene usata la copia memorizzata nella cache. Nel protocollo di memorizzazione nella cache HTTP si ottiene usando una richiesta condizionale. |
| 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 direttiva di controllo della cache no-cache e l'intestazione no-cache |
| 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 cache no-cache. |
| CacheOrNextCacheOnly | 7 | Soddisfa una richiesta di una risorsa dalla cache del computer locale o da una cache remota nella rete locale. Se la richiesta non può essere soddisfatta, viene generata un'eccezione WebException . Nel protocollo di memorizzazione nella cache HTTP si ottiene usando la direttiva di controllo della |
| Refresh | 8 | Soddisfa una richiesta utilizzando il server o una cache diversa dalla cache 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 di memorizzazione nella cache HTTP si ottiene usando la direttiva max-age = 0 del controllo della cache e l'intestazione no-cache |
Esempio
Nell'esempio di codice seguente i criteri di memorizzazione nella cache del dominio applicazione vengono impostati su Default.
// 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 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.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 della 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.