HttpRequestCacheLevel HttpRequestCacheLevel HttpRequestCacheLevel HttpRequestCacheLevel Enum

Definition

Gibt das Cacheverhalten für Ressourcen an, die über HTTP (Hypertext Transfer Protocol) abgerufen wurden.Specifies caching behavior for resources obtained using the Hypertext Transfer protocol (HTTP).

public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel = 
Public Enum HttpRequestCacheLevel
Vererbung
HttpRequestCacheLevelHttpRequestCacheLevelHttpRequestCacheLevelHttpRequestCacheLevel

Felder

BypassCache BypassCache BypassCache BypassCache 1

Führt eine Anforderung mithilfe des Servers aus.Satisfies a request by using the server. Zwischen Client und Server werden keine Einträge aus Caches abgerufen, zu Caches hinzugefügt oder aus Caches entfernt.No entries are taken from caches, added to caches, or removed from caches between the client and server. Zwischen Client und Server werden keine Einträge aus Caches abgerufen, zu Caches hinzugefügt oder aus Caches entfernt.No entries are taken from caches, added to caches, or removed from caches between the client and server. Dies ist das Standardcacheverhalten, das in der mit .NET Framework gelieferten Computerkonfigurationsdatei angegeben ist.This is the default cache behavior specified in the machine configuration file that ships with the .NET Framework.

CacheIfAvailable CacheIfAvailable CacheIfAvailable CacheIfAvailable 3

Führt eine Anforderung einer Ressource aus dem Cache aus, wenn die Ressource verfügbar ist, und sendet andernfalls eine Anforderung einer Ressource an den Server.Satisfies a request for a resource from the cache if the resource is available; otherwise, sends a request for a resource to the server. Wenn das angeforderte Element in einem Cache zwischen Client und Server verfügbar ist, wird die Anforderung möglicherweise durch den Zwischencache ausgeführt.If the requested item is available in any cache between the client and the server, the request might be satisfied by the intermediate cache.

CacheOnly CacheOnly CacheOnly CacheOnly 2

Führt eine Anforderung mithilfe der lokal zwischengespeicherten Ressource aus. Sendet keine Anforderung eines Elements, das sich nicht im Cache befindet.Satisfies a request using the locally cached resource; does not send a request for an item that is not in the cache. Wenn diese Cacherichtlinienebene angegeben ist und sich das Element nicht im Clientcache befindet, wird eine WebException-Ausnahme ausgelöst.When this cache policy level is specified, a WebException exception is thrown if the item is not in the client cache.

CacheOrNextCacheOnly CacheOrNextCacheOnly CacheOrNextCacheOnly CacheOrNextCacheOnly 7

Führt eine Anforderung einer Ressource entweder aus dem Cache des lokalen Computers oder einem Remotecache im lokalen Netzwerk aus.Satisfies a request for a resource either from the local computer's cache or a remote cache on the local area network. Wenn die Anforderung nicht ausgeführt werden kann, wird eine WebException-Ausnahme ausgelöst.If the request cannot be satisfied, a WebException exception is thrown. Im HTTP-Cacheprotokoll erfolgt dies mithilfe der only-if-cached-Cachesteuerdirektive.In the HTTP caching protocol, this is achieved using the only-if-cached cache control directive.

Default Default Default Default 0

Führt eine Anforderung einer Ressource entweder mithilfe der zwischengespeicherten Kopie der Ressource oder durch Senden einer Anforderung der Ressource an den Server aus.Satisfies a request for a resource either by using the cached copy of the resource or by sending a request for the resource to the server. Die ausgeführte Aktion wird durch die aktuelle Cacherichtlinie und das Alter des Inhalts im Cache bestimmt.The action taken is determined by the current cache policy and the age of the content in the cache. Dies ist die Cacheebene, die von den meisten Anwendungen verwendet werden muss.This is the cache level that should be used by most applications.

NoCacheNoStore NoCacheNoStore NoCacheNoStore NoCacheNoStore 6

Führt eine Anforderung niemals mithilfe von Ressourcen aus dem Cache aus und zwischenspeichert keine Ressourcen.Never satisfies a request by using resources from the cache and does not cache resources. Wenn die Ressource im lokalen Cache vorhanden ist, wird sie entfernt.If the resource is present in the local cache, it is removed. Diese Richtlinienebene gibt für Zwischencaches an, dass sie die Ressource entfernen sollen.This policy level indicates to intermediate caches that they should remove the resource. Im HTTP-Cacheprotokoll erfolgt dies mithilfe der no-cache-Cachesteuerdirektive.In the HTTP caching protocol, this is achieved using the no-cache cache control directive.

Refresh Refresh Refresh Refresh 8

Führt eine Anforderung mithilfe des Servers oder eines anderen Caches als dem lokalen Cache aus.Satisfies a request by using the server or a cache other than the local cache. Bevor die Anforderung von einem Zwischencache ausgeführt werden kann, muss dieser Cache den zwischengespeicherten Eintrag anhand des Servers neu ü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 erfolgt dies durch die max-age = 0-Cachesteuerdirektive und den no-cache-Pragma-Header.In the HTTP caching protocol, this is achieved using the max-age = 0 cache control directive and the no-cache Pragma header.

Reload Reload Reload Reload 5

Führt eine Anforderung mithilfe des Servers aus.Satisfies a request by using the server. Die Antwort wird möglicherweise im Cache gespeichert.The response might be saved in the cache. Im HTTP-Cacheprotokoll erfolgt dies mithilfe der no-cache-Cachesteuerdirektive und des no-cache-Pragma-Headers.In the HTTP caching protocol, this is achieved using the no-cache cache control directive and the no-cache Pragma header.

Revalidate Revalidate Revalidate Revalidate 4

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 erfolgt dies durch eine bedingte Anforderung.In the HTTP caching protocol, this is achieved using a conditional request.

Beispiele

Im folgenden Codebeispiel wird die Cachingrichtlinie der Anwendungsdomäne auf Default festgelegt.The following code example sets the application domain's caching policy to Default.

// The following method demonstrates overriding the
// caching policy for a request.
static WebResponse^ GetResponseNoCache( Uri^ uri )
{
   // Set a default policy level for the "http:" and "https" schemes.
   HttpRequestCachePolicy^ policy = gcnew HttpRequestCachePolicy( HttpRequestCacheLevel::Default );
   HttpWebRequest::DefaultCachePolicy = policy;

   // Create the request.
   WebRequest^ request = WebRequest::Create( uri );

   // Define a cache policy for this request only. 
   HttpRequestCachePolicy^ noCachePolicy = gcnew HttpRequestCachePolicy( HttpRequestCacheLevel::NoCacheNoStore );
   request->CachePolicy = noCachePolicy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"IsFromCache? {0}", response->IsFromCache );
   
   return response;
}
// 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 Enumeration wird verwendet, um die von HttpRequestCachePolicy -Objekten angegebene Cache Ebene festzulegen.This enumeration is used to set the cache level specified by HttpRequestCachePolicy objects.

Dieser BypassCache Wert ist das Standard Cache Verhalten, das in der Computer Konfigurationsdatei angegeben ist, die in der .NET Framework enthalten ist.This BypassCache value is the default cache behavior specified in the machine configuration file that ships with the .NET Framework. Zwischen Client und Server werden keine Einträge aus Caches abgerufen, zu Caches hinzugefügt oder aus Caches entfernt.No entries are taken from caches, added to caches, or removed from caches between the client and server.

Die HttpWebRequest.DefaultCachePolicy -Eigenschaft wird verwendet, um die Standard Cache Richtlinie für HttpWebRequest -Instanzen zu erhalten oder festzulegen.The HttpWebRequest.DefaultCachePolicy property is used to get or set the default cache policy for HttpWebRequest instances. Die WebRequest.DefaultCachePolicy -Eigenschaft wird verwendet, um die Standard Cache Richtlinie für eine WebRequest -Instanz zu erhalten oder festzulegen.The WebRequest.DefaultCachePolicy property is used to get or set the default cache policy for a WebRequest instance. Die CachePolicy -Eigenschaft wird verwendet, um die Cache Richtlinie für eine bestimmte Anforderung zu erhalten oder festzulegen.The CachePolicy property is used to get or set the cache policy for a specific request.

Eine Kopie einer Ressource wird nur dem Cache hinzugefügt, wenn der Antwortstream für die Ressource abgerufen und am Ende des Streams gelesen wird.A copy of a resource is only added to the cache if the response stream for the resource is retrieved and read to the end of the stream. Eine andere Anforderung für dieselbe Ressource könnte eine zwischengespeicherte Kopie verwenden, abhängig von der standardmäßigen Cache Richtlinien Ebene für diese Anforderung.So another request for the same resource could use a cached copy, depending on the default cache policy level for this request.

Gilt für:

Siehe auch