Procedura: Impostare criteri di cache basati sulla posizione per un'applicazione
I criteri di cache basati sulla posizione consentono a un'applicazione di definire in modo esplicito il comportamento di memorizzazione nella cache in base alla posizione della risorsa richiesta. Questo argomento illustra l'impostazione dei criteri di cache a livello di codice. Per informazioni sull'impostazione dei criteri per un'applicazione che usa file di configurazione, vedere Elemento <requestCaching> (impostazioni di rete).
Per impostare criteri di cache basati sulla posizione per un'applicazione
Creare un oggetto RequestCachePolicy o HttpRequestCachePolicy.
Impostare l'oggetto criteri come predefinito per il dominio dell'applicazione.
Per impostare un criterio che prende le risorse richieste da una cache
È possibile creare un criterio che prende le risorse richieste da una cache, se disponibili, e in caso contrario invia le richieste al server, impostando il livello di cache su CacheIfAvailable. Una richiesta può essere soddisfatta da qualsiasi cache tra il client e il server, incluse le cache remote.
public static void UseCacheIfAvailable() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.CacheIfAvailable); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub UseCacheIfAvailable() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.CacheIfAvailable) HttpWebRequest.DefaultCachePolicy = policy End Sub
Per impostare un criterio che impedisce a qualsiasi cache di fornire risorse
È possibile creare un criterio che impedisce a qualsiasi cache di fornire le risorse richieste impostando il livello di cache su NoCacheNoStore. Questo livello di criteri rimuove la risorsa dalla cache locale se è presente e indica anche alle cache remote di rimuovere la risorsa.
public static void DoNotUseCache() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.NoCacheNoStore); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub DoNotUseCache() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.NoCacheNoStore) HttpWebRequest.DefaultCachePolicy = policy End Sub
Per impostare un criterio che restituisce le risorse richieste solo se sono nella cache locale
È possibile creare un criterio che restituisce le risorse richieste solo se sono nella cache locale impostando il livello di cache su CacheOnly. Se la risorsa richiesta non è presente nella cache, viene generata un'eccezione WebException.
public static void OnlyUseCache() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.CacheOnly); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub OnlyUseCache() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.CacheOnly) HttpWebRequest.DefaultCachePolicy = policy End Sub
Per impostare un criterio che impedisce alla cache locale di fornire risorse
È possibile creare un criterio che impedisce alla cache locale di fornire le risorse richieste impostando il livello di cache su Refresh. Se la risorsa richiesta è presente in una cache intermedia e viene riconvalidata correttamente, la cache intermedia può fornire la risorsa richiesta.
public static void DoNotUseLocalCache() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.Refresh); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub DoNotUseLocalCache() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.Refresh) HttpWebRequest.DefaultCachePolicy = policy End Sub
Per impostare un criterio che impedisce a qualsiasi cache di fornire le risorse richieste
È possibile creare un criterio che impedisce a qualsiasi cache di fornire le risorse richieste impostando il livello di cache su Reload. La risorsa restituita dal server può essere archiviata nella cache.
public static void SendToServer() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.Reload); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub SendToServer() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.Reload) HttpWebRequest.DefaultCachePolicy = policy End Sub
Per impostare un criterio che consente a qualsiasi cache di fornire le risorse richieste se la risorsa nel server non è più recente della copia memorizzata nella cache
È possibile creare un criterio che consente a qualsiasi cache di fornire le risorse richieste se la risorsa nel server non è più recente della copia memorizzata nella cache impostando il livello di cache su Revalidate.
public static void CheckServer() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy (HttpRequestCacheLevel.Revalidate); HttpWebRequest.DefaultCachePolicy = policy; }
Public Shared Sub CheckServer() Dim policy As New HttpRequestCachePolicy _ (HttpRequestCacheLevel.Revalidate) HttpWebRequest.DefaultCachePolicy = policy End Sub