Zasady pamięci podręcznej oparte na lokalizacjiLocation-Based Cache Policies

Zasady pamięci podręcznej oparte na lokalizacji określają świeżość prawidłowych wpisów w pamięci podręcznej na podstawie miejsca, z którego można pobrać żądany zasób.A location-based cache policy defines the freshness of valid cached entries based on where the requested resource can be taken from. Zasób w pamięci podręcznej jest prawidłowy, jeśli jest używany, nie narusza wymagań związanych z walidacją określonych przez serwer.A cached resource is valid if using it does not does not violate server-specified revalidation requirements. Zasady pamięci podręcznej oparte na lokalizacji są tworzone programowo przy RequestCachePolicy użyciu HttpRequestCachePolicy konstruktora klasy lub.A location-based cache policy is created programmatically by using a RequestCachePolicy or HttpRequestCachePolicy class constructor. Typ zasad opartych na lokalizacji jest przesyłany do konstruktora przy użyciu RequestCacheLevel wartości wyliczenia lub. HttpRequestCacheLevelThe type of location-based policy is passed to the constructor using a RequestCacheLevel or HttpRequestCacheLevel enumeration value. Przykłady kodu tworzące zasady pamięci podręcznej oparte na lokalizacji można znaleźć w temacie How to: Ustawianie zasad pamięci podręcznej na podstawie lokalizacji dlaaplikacji.For code examples that create location-based cache policies, see How to: Set a Location-Based Cache Policy for an Application. W poniższych sekcjach opisano każdy typ zasad pamięci podręcznej opartych na lokalizacji dla zasobów protokołu HTTP i https.The following sections explain each type of location-based cache policy for Hypertext Transfer Protocol (http and https) resources.

Buforuj, jeśli są dostępne zasadyCache If Available Policy

Jeśli prawidłowy żądany zasób znajduje się w lokalnej pamięci podręcznej, zostanie użyty zasób w pamięci podręcznej. w przeciwnym razie żądanie dotyczące zasobu jest wysyłane do serwera.If a valid requested resource is in the local cache, the cached resource is used; otherwise, the request for the resource is sent to the server. Jeśli żądany zasób jest dostępny w dowolnej pamięci podręcznej między klientem a serwerem, żądanie może być spełnione przez pośrednią pamięć podręczną.If the requested resource is available in any cache between the client and the server, the request can be satisfied by an intermediate cache.

Zasady tylko dla pamięci podręcznejCache Only Policy

Jeśli prawidłowy żądany zasób znajduje się w lokalnej pamięci podręcznej, zostanie użyty buforowany zasób.If a valid requested resource is in the local cache, the cached resource is used. Gdy zostanie określony ten poziom zasad pamięci podręcznej, zostanie zgłoszony WebException wyjątek, jeśli element nie znajduje się w lokalnej pamięci podręcznej.When this cache policy level is specified, a WebException exception is thrown if the item is not in the local cache.

Zasady tylko dla pamięci podręcznej lub następnej pamięci podręcznejCache Or Next Cache Only Policy

Jeśli prawidłowy żądany zasób znajduje się w lokalnej pamięci podręcznej lub pośredniej pamięci podręcznej w sieci lokalnej, używany jest buforowany zasób.If a valid requested resource is in the local cache or an intermediate cache on the local area network, the cached resource is used. W przeciwnym razie jest zgłaszany wyjątek.WebExceptionOtherwise, a WebException exception is thrown. W protokole buforowania HTTP jest to osiągane przy użyciu dyrektywy kontroli pamięci podręcznej tylko w przypadku buforowania.In the HTTP caching protocol, this is achieved using the only-if-cached cache control directive.

Brak zasad przechowywania w pamięci podręcznejNo Cache No Store Policy

Żądany zasób nigdy nie jest używany z żadnej pamięci podręcznej i nigdy nie jest umieszczany w żadnej pamięci podręcznej.A requested resource is never used from any cache and is never placed in any cache. Jeśli żądany zasób jest obecny w lokalnej pamięci podręcznej, zostanie usunięty.If a requested resource is present in the local cache, it is removed. Ten poziom zasad wskazuje pośrednie pamięci podręczne, które powinny również usunąć zasób.This policy level indicates to intermediate caches that they should also remove the resource. W protokole buforowania HTTP można to osiągnąć za pomocą dyrektywy kontroli pamięci podręcznej no-Store.In the HTTP caching protocol, this is achieved using the no-store cache control directive.

Odśwież zasadyRefresh Policy

Żądany zasób może być używany, jeśli jest uzyskiwany z serwera lub znajduje się w pamięci podręcznej innej niż lokalna pamięć podręczna.A requested resource can be used if it is obtained from the server or found in a cache other than the local cache. Aby żądanie było spełnione przez pośrednią pamięć podręczną, ta pamięć podręczna musi ponownie sprawdzić jego zbuforowany wpis z serwerem.Before the request can be satisfied by an intermediate cache, that cache must revalidate its cached entry with the server. W protokole buforowania HTTP można to osiągnąć przy użyciu dyrektywy kontroli pamięci podręcznej max-age = 0 i nagłówka pragma Brak pamięci podręcznej.In the HTTP caching protocol, this is achieved using the max-age = 0 cache control directive and the no-cache Pragma header.

Załaduj ponownie zasadyReload Policy

Żądane zasoby muszą zostać uzyskane z serwera.Requested resources must be obtained from the server. Odpowiedź może zostać zapisana w lokalnej pamięci podręcznej.The response might be saved in the local cache. W protokole buforowania HTTP jest to osiągane przy użyciu dyrektywy kontroli pamięci podręcznej no-cache i nagłówka pragma bez pamięci podręcznej.In the HTTP caching protocol, this is achieved using the no-cache cache control directive and the no-cache Pragma header.

Ponownie Zweryfikuj zasadyRevalidate Policy

Porównuje kopię zasobu w pamięci podręcznej z kopią na serwerze.Compares the copy of the resource in the cache with the copy on the server. Jeśli kopia na serwerze jest nowsza, jest używana do zaspokojenia żądania i zastępuje kopię w pamięci podręcznej.If the copy on the server is newer, it is used to satisfy the request and replaces the copy in the cache. Jeśli kopia w pamięci podręcznej jest taka sama jak kopia serwera, używana jest kopia w pamięci podręcznej.If the copy in the cache is the same as the server copy, the cached copy is used. W protokole buforowania HTTP uzyskuje się to przy użyciu żądania warunkowego.In the HTTP caching protocol, this is achieved using a conditional request.

Zobacz takżeSee also