HttpRequestCacheLevel Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt das Zwischenspeicherungsverhalten für Ressourcen an, die mithilfe des Hypertext Transfer-Protokolls (HTTP) abgerufen werden.
public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel =
Public Enum HttpRequestCacheLevel
- Vererbung
Felder
| Name | Wert | Beschreibung |
|---|---|---|
| Default | 0 | Erfüllt eine Anforderung für eine Ressource entweder mithilfe der zwischengespeicherten Kopie der Ressource oder durch Senden einer Anforderung für die Ressource an den Server. Die ausgeführte Aktion wird durch die aktuelle Cacherichtlinie und das Alter des Inhalts im Cache bestimmt. Dies ist die Cacheebene, die von den meisten Anwendungen verwendet werden soll. |
| BypassCache | 1 | Erfüllt eine Anforderung mithilfe des Servers. Es werden keine Einträge aus Caches übernommen, zu Caches hinzugefügt oder aus Caches zwischen Client und Server entfernt. Es werden keine Einträge aus Caches übernommen, zu Caches hinzugefügt oder aus Caches zwischen Client und Server entfernt. Dies ist das Standardcacheverhalten, das in der Computerkonfigurationsdatei angegeben ist, die im Lieferumfang von .NET Framework enthalten ist. |
| CacheOnly | 2 | Erfüllt eine Anforderung mithilfe der lokal zwischengespeicherten Ressource; sendet keine Anforderung für ein Element, das sich nicht im Cache befindet. Wenn diese Cacherichtlinienebene angegeben wird, wird eine WebException Ausnahme ausgelöst, wenn sich das Element nicht im Clientcache befindet. |
| CacheIfAvailable | 3 | Erfüllt eine Anforderung für eine Ressource aus dem Cache, wenn die Ressource verfügbar ist; sendet andernfalls eine Anforderung für eine Ressource an den Server. Wenn das angeforderte Element in einem Cache zwischen dem Client und dem Server verfügbar ist, wird die Anforderung möglicherweise vom Zwischencache erfüllt. |
| Revalidate | 4 | Vergleicht die Kopie der Ressource im Cache mit der Kopie auf dem Server. Wenn die Kopie auf dem Server neuer ist, wird sie verwendet, um die Anforderung zu erfüllen und die Kopie im Cache zu ersetzen. Wenn die Kopie im Cache mit der Serverkopie identisch ist, wird die zwischengespeicherte Kopie verwendet. Im HTTP-Zwischenspeicherungsprotokoll wird dies mithilfe einer bedingten Anforderung erreicht. |
| Reload | 5 | Erfüllt eine Anforderung mithilfe des Servers. Die Antwort kann im Cache gespeichert werden. Im HTTP-Cacheprotokoll wird dies mithilfe der No-Cache-Steuerelementdirektive und des No-Cache-Headers |
| NoCacheNoStore | 6 | Erfüllt niemals eine Anforderung, indem Ressourcen aus dem Cache verwendet werden und keine Ressourcen zwischengespeichert werden. Wenn die Ressource im lokalen Cache vorhanden ist, wird sie entfernt. Diese Richtlinienebene gibt an, dass zwischengespeicherte Caches entfernt werden sollen. Im HTTP-Cacheprotokoll wird dies mithilfe der No-Cache-Cache-Steuerelementdirektive erreicht. |
| CacheOrNextCacheOnly | 7 | Erfüllt eine Anforderung für eine Ressource entweder aus dem Cache des lokalen Computers oder einem Remotecache im lokalen Netzwerk. Wenn die Anforderung nicht erfüllt werden kann, wird eine WebException Ausnahme ausgelöst. Im HTTP-Cacheprotokoll wird dies mithilfe der |
| Refresh | 8 | Erfüllt eine Anforderung mithilfe des Servers oder eines anderen Caches als dem lokalen Cache. Bevor die Anforderung von einem Zwischencache erfüllt werden kann, muss dieser Cache seinen zwischengespeicherten Eintrag mit dem Server erneut aktualisieren. Im HTTP-Cacheprotokoll wird dies mithilfe der Max-Age = 0 Cache-Steuerelementdirektive und des No-Cache-Headers |
Beispiele
Im folgenden Codebeispiel wird die Zwischenspeicherungsrichtlinie der Anwendungsdomäne auf "Standard" festgelegt.
// The following method demonstrates overriding the
// caching policy for a request.
public static WebResponse GetResponseNoCache(Uri uri)
{
// Set a default policy level for the "http:" and "https" schemes.
HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Default);
HttpWebRequest.DefaultCachePolicy = policy;
// Create the request.
WebRequest request = WebRequest.Create(uri);
// Define a cache policy for this request only.
HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy = noCachePolicy;
WebResponse response = request.GetResponse();
Console.WriteLine("IsFromCache? {0}", response.IsFromCache);
return response;
}
Hinweise
Diese Aufzählung wird verwendet, um die von HttpRequestCachePolicy Objekten angegebene Cacheebene festzulegen.
Dieser BypassCache Wert ist das Standardcacheverhalten, das in der Computerkonfigurationsdatei angegeben ist, die im Lieferumfang von .NET Framework enthalten ist. Es werden keine Einträge aus Caches übernommen, zu Caches hinzugefügt oder aus Caches zwischen Client und Server entfernt.
Die HttpWebRequest.DefaultCachePolicy Eigenschaft wird verwendet, um die Standardcacherichtlinie für HttpWebRequest Instanzen abzurufen oder festzulegen. Die WebRequest.DefaultCachePolicy Eigenschaft wird verwendet, um die Standardcacherichtlinie für eine WebRequest Instanz abzurufen oder festzulegen. Die CachePolicy Eigenschaft wird verwendet, um die Cacherichtlinie für eine bestimmte Anforderung abzurufen oder festzulegen.
Eine Kopie einer Ressource wird nur dem Cache hinzugefügt, wenn der Antwortdatenstrom für die Ressource abgerufen und am Ende des Datenstroms gelesen wird. Eine andere Anforderung für dieselbe Ressource könnte also abhängig von der Standardcacherichtlinienebene für diese Anforderung eine zwischengespeicherte Kopie verwenden.