RequestCacheLevel RequestCacheLevel RequestCacheLevel RequestCacheLevel Enum

Definition

Gibt das Cacheverhalten für Ressourcen an, die mithilfe von WebRequest und den hiervon abgeleiteten Klassen abgerufen werden.Specifies caching behavior for resources obtained using WebRequest and its derived classes.

public enum class RequestCacheLevel
public enum RequestCacheLevel
type RequestCacheLevel = 
Public Enum RequestCacheLevel
Vererbung
RequestCacheLevelRequestCacheLevelRequestCacheLevelRequestCacheLevel

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. 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.

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.

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 durch die no-cache-Cachesteuerdirektive und den no-cache-Pragma-Header.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

Erfüllt eine Anforderung, indem die zwischengespeicherte Kopie der Ressource zurückgegeben wird, wenn der Timestamp der zwischengespeicherten Ressource dem Timestamp der Ressource auf dem Server entspricht. Andernfalls wird die Ressource vom Server heruntergeladen, dem Aufrufer dargestellt und im Cache gespeichert.Satisfies a request by using the cached copy of the resource if the timestamp is the same as the timestamp of the resource on the server; otherwise, the resource is downloaded from the server, presented to the caller, and stored in the cache.

Beispiele

Im folgenden Codebeispiel wird eine Richtlinie erstellt, die nur dann eine Ressource zurückgibt, wenn Sie sich im Cache befindet.The following code example creates policy that returns a resource only if it is in the cache.

static WebResponse^ GetResponseFromCache( Uri^ uri )
{
   RequestCachePolicy^ policy = gcnew RequestCachePolicy( RequestCacheLevel::CacheOnly );
   WebRequest^ request = WebRequest::Create( uri );
   request->CachePolicy = policy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"Policy level is {0}.", policy->Level );
   Console::WriteLine( L"Is the response from the cache? {0}", response->IsFromCache );
   return response;
}
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;
    
} 

Hinweise

Member dieser Enumeration werden verwendet, um-Objekte RequestCachePolicy zu initialisieren.Members of this enumeration are used to initialize RequestCachePolicy objects. Die aktuelle Einstellung für ein RequestCachePolicy -Objekt ist in der HttpRequestCachePolicy.Level -Eigenschaft verfügbar.The current setting for a RequestCachePolicy object is available in the HttpRequestCachePolicy.Level property.

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.CachePolicy -Eigenschaft wird verwendet, um die Standard Cache Richtlinie für eine WebRequest -Instanz zu erhalten oder festzulegen.The WebRequest.CachePolicy property is used to get or set the default cache policy for a WebRequest instances. Die WebRequest.CachePolicy -Eigenschaft wird verwendet, um die Cache Richtlinie für eine bestimmte Anforderung zu erhalten oder festzulegen.The WebRequest.CachePolicy property is used to get or set the cache policy for a specific request.

Wenn das Cache Verhalten oder CacheIfAvailable Revalidateist, wird eine Kopie einer angeforderten Ressource nur dem Cache hinzugefügt, wenn der Antwortstream für die Ressource abgerufen und am Ende des Streams gelesen wird.If the cache behavior is CacheIfAvailable or Revalidate, a copy of a requested resource is only added to the cache if the response stream for the resource is retrieved and read to the end of the stream. Mit CacheIfAvailablewürden nachfolgende Anforderungen für dieselbe Ressource eine zwischengespeicherte Kopie verwenden.With CacheIfAvailable, subsequent requests for the same resource would use a cached copy. Mit Revalidatewürden nachfolgende Anforderungen für dieselbe Ressource eine zwischengespeicherte Kopie verwenden, wenn der Zeitstempel für die zwischengespeicherte Ressource mit dem Zeitstempel der Ressource auf dem Server identisch ist.With Revalidate, subsequent requests for the same resource would use a cached copy if the timestamp for the cached resource is the same as the timestamp of the resource on the server.

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