Sdílet prostřednictvím


Postupy: Nastavení zásad mezipaměti na základě umístění 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ů naleznete v tématu <requestCaching> Element (Nastavení sítě).

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

  1. Vytvořte RequestCachePolicy nebo HttpRequestCachePolicy objekt.

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

Nastavte politiku, která bere 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
    

Nastavte zásady, které brání jakékoli mezipaměti v poskytování prostředků

  • Vytvořte zásadu, která zabrání jakékoli mezipaměti v poskytování požadovaných prostředků nastavením úrovně mezipaměti na NoCacheNoStore. Tato úroveň zásad odebere prostředek z místní mezipaměti, pokud je přítomen, a oznamuje vzdáleným mezipamětem, aby také odstranily prostředek.

    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 jen pokud jsou v místní mezipaměti, nastavením úrovně mezipaměti na hodnotu CacheOnly. Pokud požadovaný prostředek není v mezipaměti, vyvolá se WebException 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
    

Nastavit zásady, které brání místní 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í politiky, která brání jakékoli mezipaměti v dodávání požadovaných prostředků.

  • Vytvořte zásadu, která brání mezipaměti v poskytování požadovaných prostředků tak, že nastavíte úroveň 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, aby jakákoliv mezipaměť poskytla požadované prostředky, pokud prostředek na serveru není novější než jeho kopie 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é