Udostępnij za pośrednictwem


Instrukcje: określanie zasad pamięci podręcznej na podstawie lokalizacji dla aplikacji

Zasady pamięci podręcznej opartej na lokalizacji umożliwiają aplikacji jawne zdefiniowanie zachowania buforowania na podstawie lokalizacji żądanego zasobu. W tym temacie przedstawiono programowe ustawianie zasad pamięci podręcznej. Aby uzyskać informacje na temat ustawiania zasad dla aplikacji przy użyciu plików konfiguracji, zobacz <request Buforowanie> Element (Network Ustawienia).

Aby ustawić zasady pamięci podręcznej opartej na lokalizacji dla aplikacji

  1. RequestCachePolicy Utwórz obiekt lubHttpRequestCachePolicy.

  2. Ustaw obiekt zasad jako domyślny dla domeny aplikacji.

Aby ustawić zasady, które pobierają żądane zasoby z pamięci podręcznej

  • Utwórz zasady, które pobierają żądane zasoby z pamięci podręcznej, jeśli są dostępne, a w przeciwnym razie wysyła żądania do serwera, ustawiając poziom pamięci podręcznej na CacheIfAvailable. Żądanie może zostać spełnione przez dowolną pamięć podręczną między klientem a serwerem, w tym zdalnymi pamięciami podręcznymi.

    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  
    

Aby ustawić zasady uniemożliwiające dostarczanie zasobów przez dowolną pamięć podręczną

  • Utwórz zasady, które uniemożliwiają każdej pamięci podręcznej dostarczanie żądanych zasobów przez ustawienie poziomu pamięci podręcznej na NoCacheNoStore. Ten poziom zasad usuwa zasób z lokalnej pamięci podręcznej, jeśli jest obecny i wskazuje na zdalne pamięci podręczne, które powinny również usunąć zasób.

    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  
    

Aby ustawić zasady zwracające żądane zasoby tylko wtedy, gdy znajdują się w lokalnej pamięci podręcznej

  • Utwórz zasady zwracające żądane zasoby tylko wtedy, gdy znajdują się w lokalnej pamięci podręcznej, ustawiając poziom pamięci podręcznej na CacheOnly. Jeśli żądany zasób nie znajduje się w pamięci podręcznej, zgłaszany WebException jest wyjątek.

    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  
    

Aby ustawić zasady, które uniemożliwiają lokalnej pamięci podręcznej dostarczanie zasobów

  • Utwórz zasady, które uniemożliwiają lokalnej pamięci podręcznej dostarczanie żądanych zasobów przez ustawienie poziomu pamięci podręcznej na Refresh. Jeśli żądany zasób znajduje się w pośredniej pamięci podręcznej i zostanie pomyślnie odnowiony, pośrednia pamięć podręczna może dostarczyć żądany zasób.

    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  
    

Aby ustawić zasady uniemożliwiające dostarczanie żądanych zasobów w pamięci podręcznej

  • Utwórz zasady, które uniemożliwiają każdej pamięci podręcznej dostarczanie żądanych zasobów przez ustawienie poziomu pamięci podręcznej na Reload. Zasób zwrócony przez serwer może być przechowywany w pamięci podręcznej.

    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  
    

Aby ustawić zasady, które umożliwiają każdej pamięci podręcznej dostarczanie żądanych zasobów, jeśli zasób na serwerze nie jest nowszy niż buforowana kopia

  • Utwórz zasady, które umożliwiają każdej pamięci podręcznej dostarczanie żądanych zasobów, jeśli zasób na serwerze nie jest nowszy niż kopia buforowana, ustawiając poziom pamięci podręcznej na Revalidatewartość .

    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  
    

Zobacz też