Criteri di cacheCache Policy

I criteri di cache definiscono le regole usate per determinare se è possibile soddisfare una richiesta usando una copia della risorsa richiesta memorizzata nella cache.A cache policy defines rules that are used to determine whether a request can be satisfied using a cached copy of the requested resource. 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.Applications specify client cache requirements for freshness, but the effective cache policy is determined by the client cache requirements, the server's content expiration requirements, and the server's revalidation requirements. 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.The interaction of client cache policy and server requirements always results in the most conservative cache policy, to help ensure that the freshest content is returned to the client application.

I criteri di cache possono essere basati sulla posizione o sul tempo.Cache policies are either location-based or time-based. 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.A location-based cache policy defines the freshness of cached entries based on where the requested resource can be taken from. 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.A time-based cache policy defines the freshness of cached entries using the time the resource was retrieved, headers returned with the resource, and the current time. Nella maggior parte delle applicazioni è possibile usare i criteri di cache predefiniti basati sul tempo, che implementano i criteri di memorizzazione nella cache specificati in RFC 2616, disponibile all'indirizzo http://www.ietf.org.Most applications can use the default time-based cache policy, which implements the caching policy specified in RFC 2616, available at http://www.ietf.org.

Nella tabella seguente sono descritte le classi usate per specificare i criteri di cache.The classes described in the following table are used to specify cache policies.

Nome di classeClass name DescrizioneDescription
HttpRequestCachePolicy Rappresenta criteri di cache basati sulla posizione e sul tempo per risorse richieste tramite oggetti HttpWebRequest.Represents location-based and time-based cache policies for resources requested using HttpWebRequest objects.
RequestCachePolicy Rappresenta criteri di cache basati sulla posizione o i criteri di cache Default basati sul tempo per risorse richieste tramite oggetti WebRequest.Represents location-based cache policies or the Default time-based cache policy for resources requested using WebRequest objects.
HttpCacheAgeControl Specifica i valori usati per creare oggetti HttpRequestCachePolicy basati sul tempo.Specifies values used to create time-based HttpRequestCachePolicy objects.
HttpRequestCacheLevel Specifica i valori usati per creare oggetti HttpRequestCachePolicy basati sulla posizione e sul tempo.Specifies values used to create location-based and time-based HttpRequestCachePolicy objects.
RequestCacheLevel Specifica i valori usati per creare oggetti RequestCachePolicy basati sulla posizione o Default basati sul tempo.Specifies values used to create location-based or the Default time-based RequestCachePolicy objects.

È possibile definire criteri di cache per tutte le richieste eseguite dall'applicazione o per singole richieste.You can define a cache policy for all requests made by your application or for individual requests. Quando si specificano criteri di cache a livello sia di applicazione sia di richiesta, vengono usati quelli a livello di richiesta.When you specify both an application-level cache policy and a request-level cache policy, the request-level policy is used. È possibile specificare criteri di cache a livello di applicazione usando i file di configurazione dell'applicazione o del computer oppure a livello di codice.You can specify an application-level cache policy programmatically or by using the application or machine configuration files. Per altre informazioni, vedere Elemento <requestCaching> (Impostazioni di rete).For more information, see <requestCaching> Element (Network Settings).

Per creare criteri di cache, è necessario definire un oggetto criteri tramite un'istanza della classe RequestCachePolicy o HttpRequestCachePolicy.To create a cache policy, you must create a policy object by creating an instance of the RequestCachePolicy or HttpRequestCachePolicy class. Per specificare i criteri in una richiesta, impostare la proprietà CachePolicy della richiesta sull'oggetto criteri.To specify the policy on a request, set the request's CachePolicy property to the policy object. Quando si impostano a livello di codice criteri a livello di applicazione, impostare la proprietà DefaultCachePolicy sull'oggetto criteri.When setting an application-level policy programmatically, set the DefaultCachePolicy property to the policy object.

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.For code examples that demonstrate creating and using cache policies, see Configuring Caching in Network Applications.

Vedere ancheSee Also

Gestione della cache per le applicazioni di reteCache Management for Network Applications
Criteri di cache basati sulla posizioneLocation-Based Cache Policies
Criteri di cache basati sull'oraTime-Based Cache Policies
Configurazione della memorizzazione nella cache per applicazioni di reteConfiguring Caching in Network Applications