Cacherichtlinie
Eine Cacherichtlinie definiert die Regeln, die verwendet werden, um zu bestimmen, ob eine Anforderung mit der zwischengespeicherten Kopie der angeforderten Ressource erfüllt werden kann. Anwendungen geben Cache-Clientanforderungen für die Aktualität an, aber die effektive Cacherichtlinie richtet sich nach den Cache-Clientanforderungen, den Inhaltsablaufanforderungen des Servers sowie den Anforderungen zur erneuten Überprüfung des Servers. Die Interaktion der Cacherichtlinie und des Cacheservers für Clients resultiert immer in der konservativsten Cacherichtlinie, um sicherzustellen, dass die aktuellsten Inhalten an die Clientanwendung zurückgegeben werden.
Cacherichtlinien sind speicherortbasiert oder zeitbasiert. Eine speicherortbasierte Cacherichtlinie definiert die Aktualität der zwischengespeicherten Einträge auf Grundlage der Speicherorte der angeforderten Ressource. Eine zeitbasierte Cacherichtlinie definiert die Aktualität der zwischengespeicherten Einträge mithilfe der Uhrzeit, zu der die Ressource abgerufen wurde, des Headers, der mit der Ressource zurückgegeben wurde und mit der aktuellen Uhrzeit. Die meisten Anwendungen können die zeitbasierte Standardcacherichtlinie verwenden, die die in RFC 2616 angegebene Cacherichtlinie implementiert (verfügbar auf der Website der Internet Engineering Task Force (IETF).
Die in der folgenden Tabelle beschriebenen Klassen werden verwendet, um Cacherichtlinien anzugeben.
Klassenname | Beschreibung |
---|---|
HttpRequestCachePolicy | Stellt speicherortbasierte und zeitbasierte Cacherichtlinien für mithilfe von HttpWebRequest-Objekten angeforderte Ressourcen dar. |
RequestCachePolicy | Stellt die speicherortbasierten oder die Default-zeitbasierten Cacherichtlinien für Ressourcen dar, die mithilfe von WebRequest-Objekten angefordert werden. |
HttpCacheAgeControl | Gibt Werte an, die zum Erstellen von zeitbasierten HttpRequestCachePolicy-Objekten verwendet werden. |
HttpRequestCacheLevel | Gibt Werte an, die zum Erstellen von speicherort- und zeitbasierten HttpRequestCachePolicy-Objekten verwendet werden. |
RequestCacheLevel | Gibt Werte an, die zum Erstellen von speicherort- oder Default zeitbasierten RequestCachePolicy-Objekten verwendet werden. |
Sie können eine Cacherichtlinie für alle Anforderungen der Anwendung oder für einzelne Anforderungen definieren. Wenn Sie eine Cacherichtlinie auf Anwendungsebene und eine Cacherichtlinie auf Anforderungsebene angeben, wird die Richtlinie für die Anforderungsebenen verwendet. Sie können eine Cacherichtlinie auf Anwendungsebene programmgesteuert oder mithilfe der Anwendung oder Computerkonfigurationsdateien angeben. Weitere Informationen finden Sie unter <requestCaching>-Element (Netzwerkeinstellungen).
Um eine Cacherichtlinie zu erstellen, müssen Sie ein Richtlinienobjekt erstellen, indem Sie die Instanz der RequestCachePolicy- oder HttpRequestCachePolicy-Klasse erstellen. Um die Richtlinie für eine Anforderung anzugeben, legen Sie die CachePolicy-Eigenschaft der Anforderung auf das Richtlinienobjekt fest. Wenn Sie eine Richtlinie auf Anwendungsebene programmgesteuert festlegen, legen Sie die DefaultCachePolicy-Eigenschaft auf das Richtlinienobjekt fest.
Codebeispiele, die das Erstellen und Verwenden von Cacherichtlinien veranschaulichen, finden Sie unter Konfigurieren der Zwischenspeicherung in Netzwerkanwendungen.