Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

RequestCacheLevel-Enumeration

 

Veröffentlicht: Oktober 2016

Gibt das Cacheverhalten für Ressourcen mithilfe WebRequest und abgeleitete Klassen.

Namespace:   System.Net.Cache
Assembly:  System (in System.dll)

public enum RequestCacheLevel

MembernameBeschreibung
BypassCache

Führt eine Anforderung mithilfe des Servers. Keine Einträge aus Caches abgerufen, zu Caches hinzugefügt oder aus Caches zwischen Client und Server entfernt. Dies ist das Standardverhalten-Cache in der Computerkonfigurationsdatei, die mit den im Lieferumfang von .NET Framework angegeben.

CacheIfAvailable

Führt eine Anforderung für eine Ressource aus dem Cache, wenn die Ressource verfügbar ist. andernfalls sendet eine Anforderung für eine Ressource an den Server. Wenn das angeforderte Element in einem Cache zwischen dem Client und der Server verfügbar ist, kann die Anforderung durch den Zwischencache erfüllt werden.

CacheOnly

Führt eine Anforderung mithilfe der lokal zwischengespeicherten Ressource. eine Anforderung für ein Element, die nicht im Cache vorhanden ist, wird nicht gesendet werden. Wenn diese Richtlinie Cacheebene angegeben wird, eine WebException Ausnahme wird ausgelöst, wenn das Element nicht im Clientcache.

Default

Erfüllt eine Anforderung für eine Ressource, mit die zwischengespeicherte Kopie der Ressource oder durch Senden einer Anforderung für die Ressource an den Server. Die Aktion wird durch die aktuelle Cacherichtlinie und das Alter des Inhalts im Cache bestimmt. Dies ist die Cacheebene, die von den meisten Programmen verwendet werden soll.

NoCacheNoStore

Führt eine Anforderung niemals mithilfe von Ressourcen aus dem Cache und zwischenspeichert keine Ressourcen. Wenn die Ressource im lokalen Cache vorhanden ist, wird sie entfernt. Diese Richtlinienebene gibt intermediate Caches, dass sie die Ressource entfernen, sollten. In der HTTP-Protokoll zwischenspeichern, erfolgt dies durch die no-cache Cache-Control-Direktive.

Reload

Führt eine Anforderung mithilfe des Servers. Die Antwort wird möglicherweise im Cache gespeichert. In der HTTP-Protokoll zwischenspeichern, erfolgt dies durch die no-cache cache-Control-Direktive und den No-Cache Pragma Header.

Revalidate

Führt eine Anforderung mithilfe der zwischengespeicherten Kopie der Ressource, wenn der Zeitstempel mit dem Zeitstempel der Ressource auf dem Server übereinstimmt. Andernfalls wird die Ressource vom Server heruntergeladen, dem Aufrufer angezeigt und im Cache gespeichert.

Member dieser Enumeration werden zum Initialisieren RequestCachePolicy Objekte. Die aktuelle Einstellung für ein RequestCachePolicy Objekt steht in der HttpRequestCachePolicy.Level Eigenschaft.

Diese BypassCache Wert wird standardmäßig Cache angegeben, die in der Computerkonfigurationsdatei, der mit .NET Framework ausgeliefert wird. Keine Einträge aus Caches abgerufen, zu Caches hinzugefügt oder aus Caches zwischen Client und Server entfernt.

Die HttpWebRequest.DefaultCachePolicy Eigenschaft dient zum Abrufen oder Festlegen der Standardcacherichtlinie für HttpWebRequest Instanzen. Die WebRequest.CachePolicy Eigenschaft dient zum Abrufen oder Festlegen der Standardcacherichtlinie für eine WebRequest Instanzen. Die WebRequest.CachePolicy Eigenschaft zum Abrufen oder Festlegen der Cacherichtlinie für eine bestimmte Anforderung verwendet wird.

Eine Kopie einer Ressource wird dem Cache nur hinzugefügt, wenn der Antwortstream für die Ressource abgerufen und bis zum Ende des Streams gelesen wird. Damit eine weitere Anforderung für die gleiche Ressource eine zwischengespeicherte Kopie verwenden, abhängig von der standardmäßigen Cacherichtlinienebene für diese Anforderung verwenden kann.

Im folgenden Codebeispiel erstellt die Richtlinie, die eine Ressource zurückgibt, wenn sie sich im Cache befindet.

public static WebResponse GetResponseFromCache(Uri uri)
{
     RequestCachePolicy policy = 
        new  RequestCachePolicy( RequestCacheLevel.CacheOnly);
    WebRequest request = WebRequest.Create(uri);
    request.CachePolicy = policy;
    WebResponse response = request.GetResponse();
    Console.WriteLine("Policy level is {0}.", policy.Level.ToString());
    Console.WriteLine("Is the response from the cache? {0}", response.IsFromCache);  
    return response;

} 

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: