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 erstellt die Richtlinie, die eine Ressource zurückgibt, wenn sie 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 das Initialisieren RequestCachePolicy Objekte.Members of this enumeration are used to initialize RequestCachePolicy objects. Die aktuelle Einstellung für eine RequestCachePolicy Objekt steht in der HttpRequestCachePolicy.Level Eigenschaft.The current setting for a RequestCachePolicy object is available in the HttpRequestCachePolicy.Level property.

Dies BypassCache Wert ist das Standardcacheverhalten, angegeben in die Konfigurationsdatei des Computers, der mit .NET Framework bereitgestellt wird.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, zum Abrufen oder Festlegen der Standardcacherichtlinie für HttpWebRequest Instanzen.The HttpWebRequest.DefaultCachePolicy property is used to get or set the default cache policy for HttpWebRequest instances. Die WebRequest.CachePolicy Eigenschaft wird verwendet, zum Abrufen oder Festlegen der standardmäßigen Cacherichtlinie für eine WebRequest Instanzen.The WebRequest.CachePolicy property is used to get or set the default cache policy for a WebRequest instances. Die WebRequest.CachePolicy Eigenschaft wird zum Abrufen oder Festlegen der Cacherichtlinie für eine bestimmte Anforderung verwendet.The WebRequest.CachePolicy property is used to get or set the cache policy for a specific request.

Eine Kopie einer Ressource wird nur mit dem Cache hinzugefügt, wenn der Antwortstream für die Ressource abgerufen und bis zum 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. Damit eine andere Anforderung für dieselbe Ressource eine zwischengespeicherte Kopie, abhängig von der standardmäßige Cacherichtlinienebene für diese Anforderung verwenden kann.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