Zasady pamięci podręcznej oparte na lokalizacji
Zasady pamięci podręcznej opartej na lokalizacji definiują świeżość prawidłowych wpisów buforowanych na podstawie miejsca, z którego można pobrać żądany zasób. Zasób buforowany jest prawidłowy, jeśli nie narusza wymagań dotyczących ponownej weryfikacji określonych przez serwer. Zasady pamięci podręcznej opartej na lokalizacji są tworzone programowo przy użyciu konstruktora RequestCachePolicy klasy lub HttpRequestCachePolicy . Typ zasad opartych na lokalizacji jest przekazywany do konstruktora przy użyciu RequestCacheLevel wartości wyliczenia lub HttpRequestCacheLevel . Przykłady kodu służące do tworzenia zasad pamięci podręcznej opartej na lokalizacji można znaleźć w temacie How to: Set a Location-Based Cache Policy for an Application (Instrukcje: ustawianie zasad pamięci podręcznej opartej na lokalizacji dla aplikacji). W poniższych sekcjach opisano każdy typ zasad pamięci podręcznej opartej na lokalizacji dla zasobów protokołu http i https.
Pamięć podręczna, jeśli są dostępne zasady
Jeśli prawidłowy żądany zasób znajduje się w lokalnej pamięci podręcznej, używany jest zasób buforowany; w przeciwnym razie żądanie zasobu jest wysyłane do serwera. Jeśli żądany zasób jest dostępny w dowolnej pamięci podręcznej między klientem a serwerem, żądanie może zostać spełnione przez pośrednią pamięć podręczną.
Zasady tylko pamięci podręcznej
Jeśli prawidłowy żądany zasób znajduje się w lokalnej pamięci podręcznej, używany jest zasób buforowany. Po określeniu tego poziomu zasad pamięci podręcznej jest zgłaszany wyjątek, WebException jeśli element nie znajduje się w lokalnej pamięci podręcznej.
Zasady tylko pamięci podręcznej lub następnej pamięci podręcznej
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 zasób buforowany. W przeciwnym razie zgłaszany WebException jest wyjątek. W protokole buforowania HTTP jest to osiągane przy użyciu dyrektywy kontroli pamięci podręcznej tylko w przypadku buforowania.
Brak zasad magazynu bez pamięci podręcznej
Żą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. Jeśli żądany zasób znajduje się w lokalnej pamięci podręcznej, zostanie usunięty. Ten poziom zasad wskazuje na pośrednie pamięci podręczne, które powinny również usunąć zasób. W protokole buforowania HTTP jest to osiągane przy użyciu dyrektywy kontroli pamięci podręcznej no-store.
Odśwież zasady
Żą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. Aby żądanie było spełnione przez pośrednią pamięć podręczną, pamięć podręczna musi ponownie odnowić jego wpis w pamięci podręcznej z serwerem. W protokole buforowania HTTP jest to osiągane przy użyciu dyrektywy max-age = 0 kontrolki pamięci podręcznej i nagłówka Pragma no-cache.
Zasady ponownego ładowania
Żądane zasoby muszą być uzyskiwane z serwera. Odpowiedź może zostać zapisana w lokalnej pamięci podręcznej. W protokole buforowania HTTP jest to osiągane przy użyciu dyrektywy kontroli pamięci podręcznej no-cache i nagłówka Pragma no-cache.
Zmiana zasad
Porównuje kopię zasobu w pamięci podręcznej z kopią na serwerze. Jeśli kopia na serwerze jest nowsza, jest używana do spełnienia żądania i zastępuje kopię w pamięci podręcznej. Jeśli kopia w pamięci podręcznej jest taka sama jak kopia serwera, używana jest buforowana kopia. W protokole buforowania HTTP jest to osiągane przy użyciu żądania warunkowego.