Condividi tramite


Procedura: Impostare un criterio di cache Location-Based 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. In questo argomento viene illustrata l'impostazione dei criteri di cache a livello di codice. Per informazioni sull'impostazione dei criteri per un'applicazione tramite i file di configurazione, vedere <requestCaching> Elemento (Impostazioni di rete).

Per impostare criteri di cache basati sulla posizione per un'applicazione

  1. Creare un oggetto RequestCachePolicy o HttpRequestCachePolicy.

  2. Impostare l'oggetto criteri come predefinito per il dominio dell'applicazione.

Per impostare un criterio che accetta le risorse richieste da una cache

  • Creare un criterio che accetta risorse richieste da una cache, se disponibile e in caso contrario, invia 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

  • Creare un criterio che impedisce a qualsiasi cache di fornire risorse richieste impostando il livello di cache su NoCacheNoStore. Questo livello di criteri rimuove la risorsa dalla cache locale, se presente e indica alle cache remote che devono anche 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 si trovano nella cache locale

  • Creare un criterio che restituisca le risorse richieste solo se si trovano 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

  • Creare un criterio che impedisce alla cache locale di fornire risorse richieste impostando il livello di cache su Refresh. Se la risorsa richiesta si trova 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 risorse richieste

  • Creare un criterio che impedisce a qualsiasi cache di fornire 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 risorse richieste se la risorsa nel server non è più recente della copia memorizzata nella cache

  • Creare un criterio che consenta a qualsiasi cache di fornire 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
    

Vedere anche