Criteri di cache

I criteri di cache definiscono le regole usate per determinare se è possibile soddisfare una richiesta usando una copia della risorsa richiesta memorizzata nella cache. Anche se nelle applicazioni vengono specificati i requisiti di cache del client relativi alla validità, l'efficacia dei criteri di cache è determinata non solo dai requisiti di cache del client, ma anche dai requisiti di scadenza del contenuto del server e di riconvalida del server. Per garantire che all'applicazione client venga restituito il contenuto più aggiornato, l'interazione tra i criteri di cache del client e i requisiti del server determina sempre la creazione dei criteri di cache più conservativi.

I criteri di cache possono essere basati sulla posizione o sul tempo. I criteri di cache basati sulla posizione definiscono il livello di aggiornamento delle voci memorizzate nella cache in base alla posizione da cui è possibile ricavare la risorsa richiesta. I criteri di cache basati sul tempo definiscono il livello di aggiornamento delle voci memorizzate nella cache usando l'ora di recupero della risorsa, le intestazioni restituite con la risorsa e l'ora corrente. Nella maggior parte delle applicazioni è possibile usare i criteri di cache predefiniti basati sul tempo, che implementano i criteri di memorizzazione nella cache specificati nel documento RFC 2616, disponibile nel sito Web Internet Engineering Task Force (IETF).

Nella tabella seguente sono descritte le classi usate per specificare i criteri di cache.

Nome classe Descrizione
HttpRequestCachePolicy Rappresenta criteri di cache basati sulla posizione e sul tempo per risorse richieste tramite oggetti HttpWebRequest.
RequestCachePolicy Rappresenta criteri di cache basati sulla posizione o i criteri di cache Default basati sul tempo per risorse richieste tramite oggetti WebRequest.
HttpCacheAgeControl Specifica i valori usati per creare oggetti HttpRequestCachePolicy basati sul tempo.
HttpRequestCacheLevel Specifica i valori usati per creare oggetti HttpRequestCachePolicy basati sulla posizione e sul tempo.
RequestCacheLevel Specifica i valori usati per creare oggetti RequestCachePolicy basati sulla posizione o Default basati sul tempo.

È possibile definire criteri di cache per tutte le richieste eseguite dall'applicazione o per singole richieste. Quando si specificano criteri di cache a livello sia di applicazione sia di richiesta, vengono usati quelli a livello di richiesta. È possibile specificare criteri di cache a livello di applicazione usando i file di configurazione dell'applicazione o del computer oppure a livello di codice. Per altre informazioni, vedere Elemento <requestCaching> (impostazioni di rete).

Per creare criteri di cache, è necessario definire un oggetto criteri tramite un'istanza della classe RequestCachePolicy o HttpRequestCachePolicy. Per specificare i criteri in una richiesta, impostare la proprietà CachePolicy della richiesta sull'oggetto criteri. Quando si impostano a livello di codice criteri a livello di applicazione, impostare la proprietà DefaultCachePolicy sull'oggetto criteri.

Per esempi di codice che illustrano la creazione e l'uso dei criteri di cache, vedere Configurazione della memorizzazione nella cache per applicazioni di rete.

Vedi anche