Share via


Postupy: Nastavení zásad mezipaměti na základě místa pro aplikaci

Zásady mezipaměti založené na poloze umožňují aplikaci explicitně definovat chování ukládání do mezipaměti na základě umístění požadovaného prostředku. Toto téma ukazuje programové nastavení zásad mezipaměti. Informace o nastavení zásad pro aplikaci pomocí konfiguračních souborů najdete v části <request Ukládání do mezipaměti> – element (Network Nastavení).

Nastavení zásad mezipaměti založené na umístění pro aplikaci

  1. Vytvoření objektu nebo objektu RequestCachePolicyHttpRequestCachePolicy

  2. Nastavte objekt zásad jako výchozí pro doménu aplikace.

Nastavení zásady, která přijímá požadované prostředky z mezipaměti

  • Vytvořte zásadu, která přijímá požadované prostředky z mezipaměti, pokud jsou k dispozici, a jinak odešle požadavky na server nastavením úrovně mezipaměti na CacheIfAvailable. Požadavek může splnit libovolná mezipaměť mezi klientem a serverem, včetně vzdálených mezipamětí.

    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  
    

Nastavení zásad, které brání v poskytování prostředků v mezipaměti

  • Vytvořte zásadu, která brání v poskytování požadovaných prostředků mezipamětí nastavením úrovně mezipaměti na NoCacheNoStore. Tato úroveň zásad odebere prostředek z místní mezipaměti, pokud je k dispozici, a označuje vzdálené mezipaměti, že by také měly prostředek odebrat.

    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  
    

Nastavení zásady, která vrací požadované prostředky pouze v případě, že jsou v místní mezipaměti

  • Vytvořte zásadu, která vrací požadované prostředky pouze v případě, že jsou v místní mezipaměti nastavením úrovně mezipaměti na CacheOnlyhodnotu . Pokud požadovaný prostředek není v mezipaměti, WebException vyvolá se výjimka.

    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  
    

Nastavení zásad, které brání místnímu mezipaměti v poskytování prostředků

  • Vytvořte zásadu, která brání místní mezipaměti v poskytování požadovaných prostředků nastavením úrovně mezipaměti na Refresh. Pokud je požadovaný prostředek v zprostředkující mezipaměti a úspěšně se znovu aktualizuje, může zprostředkující mezipaměť poskytnout požadovaný prostředek.

    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  
    

Nastavení zásad, které brání v poskytování požadovaných prostředků v mezipaměti

  • Vytvořte zásadu, která brání v poskytování požadovaných prostředků mezipamětí nastavením úrovně mezipaměti na Reload. Prostředek vrácený serverem může být uložen v mezipaměti.

    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  
    

Nastavení zásady, která umožňuje poskytnutí požadovaných prostředků mezipamětí, pokud prostředek na serveru není novější než kopie uložená v mezipaměti

  • Vytvořte zásadu, která umožňuje jakékoli mezipaměti poskytovat požadované prostředky, pokud prostředek na serveru není novější než kopie uložená v mezipaměti nastavením úrovně mezipaměti na 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  
    

Viz také