Speicherortbasierte CacherichtlinienLocation-Based Cache Policies

Eine speicherortbasierte Cacherichtlinie definiert die Aktualität gültiger zwischengespeicherter Einträge basierend darauf, woher die angeforderte Ressource stammen kann.A location-based cache policy defines the freshness of valid cached entries based on where the requested resource can be taken from. Eine zwischengespeicherte Ressource ist gültig, wenn ihre Verwendung keinen Verstoß gegen vom Server angegebene Anforderungen an die erneute Überprüfung darstellt.A cached resource is valid if using it does not does not violate server-specified revalidation requirements. Eine speicherortbasierte Cacherichtlinie wird programmgesteuert erstellt, indem ein RequestCachePolicy- oder HttpRequestCachePolicy-Klassenkonstruktor verwendet wird.A location-based cache policy is created programmatically by using a RequestCachePolicy or HttpRequestCachePolicy class constructor. Der Typ der speicherortbasierten Richtlinie wird mithilfe eines RequestCacheLevel- oder HttpRequestCacheLevel-Enumerationswerts an den Konstruktor übergeben.The type of location-based policy is passed to the constructor using a RequestCacheLevel or HttpRequestCacheLevel enumeration value. Codebeispiele, die speicherortbasierte Cacherichtlinien erstellen, finden Sie unter Vorgehensweise: Festlegen einer speicherortbasierten Cacherichtlinie für eine Anwendung.For code examples that create location-based cache policies, see How to: Set a Location-Based Cache Policy for an Application. Im folgenden Abschnitt wird jeder Typ der speicherortbasierten Cacherichtlinie für Hypertext Transfer-Protokollressourcen (http und https) erklärt.The following sections explain each type of location-based cache policy for Hypertext Transfer Protocol (http and https) resources.

Richtlinie „Zwischenspeichern, sofern verfügbar“Cache If Available Policy

Wenn sich eine gültige angeforderte Ressource im lokalen Cache befindet, wird die zwischengespeicherte Ressource verwendet. Andernfalls wird die Anforderung für die Ressource an den Server gesendet.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. Wenn die angeforderte Ressource in einem Cache zwischen dem Client und dem Server verfügbar ist, kann die Anforderung von einem Zwischen-Cache erfüllt werden.If the requested resource is available in any cache between the client and the server, the request can be satisfied by an intermediate cache.

Richtlinie „Nur zwischenspeichern“Cache Only Policy

Wenn sich eine gültige angeforderte Ressource im lokalen Cache befindet, wird die zwischengespeicherte Ressource verwendet.If a valid requested resource is in the local cache, the cached resource is used. Wenn diese Cacherichtlinienebene angegeben wird, wird eine WebException-Ausnahme ausgelöst, wenn sich das Element nicht im lokalen Cache befindet.When this cache policy level is specified, a WebException exception is thrown if the item is not in the local cache.

Richtlinie „Cache oder nur nächster Cache“Cache Or Next Cache Only Policy

Wenn sich eine gültige angeforderte Ressource im lokalen Cache oder einem Zwischen-Cache auf dem lokalen Netzwerk befindet, wird die zwischengespeicherte Ressource verwendet.If a valid requested resource is in the local cache or an intermediate cache on the local area network, the cached resource is used. Andernfalls wird eine WebException-Ausnahme ausgelöst.Otherwise, a WebException exception is thrown. Im HTTP-Cacheprotokoll wird dies erreicht, indem die Cachesteuerungsanweisung „only-if-cached“ verwendet wird.In the HTTP caching protocol, this is achieved using the only-if-cached cache control directive.

Richtlinie „Kein Cache, kein Speicher“No Cache No Store Policy

Eine angeforderte Ressource wird nie aus einem Cache heraus verwendet und nie in einen Cache platziert.A requested resource is never used from any cache and is never placed in any cache. Wenn eine angeforderte Ressource im lokalen Cache vorhanden ist, wird sie entfernt.If a requested resource is present in the local cache, it is removed. Diese Richtlinienebene gibt für Zwischen-Caches an, dass sie die Ressource ebenfalls entfernen sollten.This policy level indicates to intermediate caches that they should also remove the resource. Im HTTP-Cacheprotokoll wird dies erreicht, indem die Cachesteuerungsanweisung „no-store“ verwendet wird.In the HTTP caching protocol, this is achieved using the no-store cache control directive.

AktualisierungsrichtlinieRefresh Policy

Eine angeforderte Ressource kann verwendet werden, wenn sie vom Server abgerufen oder in einem anderen Cache als dem lokalen Cache gefunden wurde.A requested resource can be used if it is obtained from the server or found in a cache other than the local cache. Bevor die Anforderung durch einen Zwischen-Cache erfüllt werden kann, muss dieser Cache seinen zwischengespeicherten Eintrag mit dem Server erneut überprüfen.Before the request can be satisfied by an intermediate cache, that cache must revalidate its cached entry with the server. Im HTTP-Cacheprotokoll wird dies erreicht, indem die Cachesteuerungsanweisung „max-age = 0“ und der Pragma-Header „no-cache“ verwendet werden.In the HTTP caching protocol, this is achieved using the max-age = 0 cache control directive and the no-cache Pragma header.

Richtlinie zum erneuten LadenReload Policy

Angeforderte Ressourcen müssen vom Server abgerufen werden.Requested resources must be obtained from the server. Die Antwort wird möglicherweise im lokalen Cache gespeichert.The response might be saved in the local cache. Im HTTP-Cacheprotokoll wird dies erreicht, indem die Cachesteuerungsanweisung „no-cache“ und der Pragma-Header „no-cache“ verwendet werden.In the HTTP caching protocol, this is achieved using the no-cache cache control directive and the no-cache Pragma header.

Richtlinie zum erneuten ÜberprüfenRevalidate Policy

Vergleicht die Kopie der Ressource im Cache mit der Kopie auf dem Server.Compares the copy of the resource in the cache with the copy on the server. Wenn die Kopie auf dem Server neuer ist, wird sie zum Erfüllen der Anforderung verwendet und ersetzt die Kopie im Cache.If the copy on the server is newer, it is used to satisfy the request and replaces the copy in the cache. Wenn die Kopie im Cache mit der Serverkopie übereinstimmt, wird die zwischengespeicherte Kopie verwendet.If the copy in the cache is the same as the server copy, the cached copy is used. Im HTTP-Cacheprotokoll wird dies erreicht, indem eine bedingte Anforderung verwendet wird.In the HTTP caching protocol, this is achieved using a conditional request.

Siehe auchSee also