Share via


Criteri di cache basati sulla posizione

I criteri di cache basati sulla posizione definiscono l'aggiornamento delle voci memorizzate nella cache valide in base alla posizione da cui è possibile ricavare la risorsa richiesta. Una risorsa memorizzata nella cache è valida se l'uso non viola i requisiti di riconvalida specificati dal server. I criteri di cache basati sulla posizione vengono creati a livello di codice usando un costruttore di classe RequestCachePolicy o HttpRequestCachePolicy. Il tipo dei criteri basati sulla posizione viene passato al costruttore usando un valore di enumerazione RequestCacheLevel o HttpRequestCacheLevel. Per esempi di codice che creano criteri di cache basati sulla posizione, vedere Procedura: Impostare criteri di cache basati sulla posizione per un'applicazione. Le sezioni seguenti illustrano i diversi tipi di criteri di cache basati sulla posizione per le risorse Hypertext Transfer Protocol (HTTP e HTTPS).

CacheIfAvailable (criterio)

Se una risorsa richiesta valida è nella cache locale, viene usata la risorsa memorizzata nella cache. In caso contrario, la richiesta per la risorsa viene inviata al server. Se la risorsa richiesta è disponibile in qualsiasi cache tra il client e il server, la richiesta può essere soddisfatta da una cache intermedia.

CacheOnly (criterio)

Se una risorsa richiesta valida è nella cache locale, viene usata la risorsa memorizzata nella cache. Quando viene specificato questo livello di criteri di cache, viene generata un'eccezione WebException se l'elemento non è presente nella cache locale.

CacheOrNextCacheOnly (criterio)

Se una risorsa richiesta valida è nella cache locale o in una cache intermedia nella rete locale, viene usata la risorsa memorizzata nella cache. In caso contrario, viene generata un'eccezione WebException. Nel protocollo di memorizzazione nella cache HTTP, ciò si ottiene usando la direttiva di controllo della cache only-if-cached.

NoCacheNoStore (criterio)

Una risorsa richiesta non viene mai usata dalla cache né inserita nella cache. Se una risorsa richiesta è presente nella cache locale, viene rimossa. Questo livello di criteri indica alle cache intermedie di rimuovere la risorsa. Nel protocollo di memorizzazione nella cache HTTP, ciò si ottiene usando la direttiva di controllo della cache no-store.

Refresh (criterio)

Una risorsa richiesta può essere usata se viene ottenuta dal server o trovata in 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, ciò si ottiene usando la direttiva di controllo della cache max-age = 0 e l'intestazione Pragma no-cache.

reload (criterio)

Le risorse richieste devono essere ottenute dal server. La risposta può essere salvata nella cache locale. Nel protocollo di memorizzazione nella cache HTTP, ciò si ottiene usando la direttiva di controllo della cache no-cache e l'intestazione Pragma no-cache.

Revalidate (criterio)

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.

Vedi anche