HttpRequestCacheLevel Énumération

Définition

Spécifie le comportement de mise en cache pour les ressources obtenues à l'aide du protocole HTTP (Hypertext Transfer Protocol).Specifies caching behavior for resources obtained using the Hypertext Transfer protocol (HTTP).

public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel = 
Public Enum HttpRequestCacheLevel
Héritage
HttpRequestCacheLevel

Champs

BypassCache 1

Satisfait une demande en utilisant le serveur.Satisfies a request by using the server. Aucune entrée n'est prise à partir des caches, ajoutée aux caches, ni supprimée des caches entre le client et serveur.No entries are taken from caches, added to caches, or removed from caches between the client and server. Aucune entrée n'est prise à partir des caches, ajoutée aux caches, ni supprimée des caches entre le client et serveur.No entries are taken from caches, added to caches, or removed from caches between the client and server. Il s'agit du comportement de cache par défaut spécifié dans le fichier de configuration machine fourni avec le .NET Framework.This is the default cache behavior specified in the machine configuration file that ships with the .NET Framework.

CacheIfAvailable 3

Satisfait une demande de ressource à partir du cache si la ressource est disponible ; sinon, envoie une demande de ressource au serveur.Satisfies a request for a resource from the cache if the resource is available; otherwise, sends a request for a resource to the server. Si l'élément demandé est disponible dans un cache quelconque entre le client et le serveur, la demande peut être satisfaite par le cache intermédiaire.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 2

Satisfait une demande en utilisant la ressource mise en cache localement ; n'envoie pas de demande pour un élément qui n'est pas dans le cache.Satisfies a request using the locally cached resource; does not send a request for an item that is not in the cache. Lorsque ce niveau de stratégie de cache est spécifié, une exception WebException est levée si l'élément n'est pas dans le cache client.When this cache policy level is specified, a WebException exception is thrown if the item is not in the client cache.

CacheOrNextCacheOnly 7

Satisfait une demande de ressource à partir du cache de l'ordinateur local ou d'un cache distant sur le réseau local.Satisfies a request for a resource either from the local computer's cache or a remote cache on the local area network. Si la demande ne peut pas être satisfaite, une exception WebException est levée.If the request cannot be satisfied, a WebException exception is thrown. Dans le protocole de mise en cache HTTP, cette opération est effectuée à l'aide de la directive de contrôle de cache only-if-cached.In the HTTP caching protocol, this is achieved using the only-if-cached cache control directive.

Default 0

Satisfait une demande de ressource en utilisant la copie mise en cache de la ressource ou en envoyant une demande de ressource au serveur.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. L'action prise est déterminée par la stratégie de cache actuelle et l'âge du contenu du cache.The action taken is determined by the current cache policy and the age of the content in the cache. C'est le niveau de cache qui doit être utilisé par la plupart des applications.This is the cache level that should be used by most applications.

NoCacheNoStore 6

Ne satisfait jamais une demande en utilisant des ressources du cache et ne met pas les ressources en cache.Never satisfies a request by using resources from the cache and does not cache resources. Si la ressource est présente dans le cache local, elle est supprimée.If the resource is present in the local cache, it is removed. Ce niveau de stratégie indique aux caches intermédiaires qu'ils doivent supprimer la ressource.This policy level indicates to intermediate caches that they should remove the resource. Dans le protocole de mise en cache HTTP, cela est accompli à l'aide de la directive de contrôle de cache no-cache.In the HTTP caching protocol, this is achieved using the no-cache cache control directive.

Refresh 8

Satisfait une demande en utilisant un serveur ou un cache autre que le cache local.Satisfies a request by using the server or a cache other than the local cache. Avant que la demande puisse être satisfaite par un cache intermédiaire, celui-ci doit revalider son entrée mise en cache auprès du serveur.Before the request can be satisfied by an intermediate cache, that cache must revalidate its cached entry with the server. Dans le protocole de mise en cache HTTP, cela est accompli à l'aide de la directive de contrôle de cache max-age = 0 et de l'en-tête no-cache Pragma.In the HTTP caching protocol, this is achieved using the max-age = 0 cache control directive and the no-cache Pragma header.

Reload 5

Satisfait une demande en utilisant le serveur.Satisfies a request by using the server. La réponse peut être enregistrée dans le cache.The response might be saved in the cache. Dans le protocole de mise en cache HTTP, cela est accompli à l'aide de la directive de contrôle de cache no-cache et de l'en-tête no-cache Pragma.In the HTTP caching protocol, this is achieved using the no-cache cache control directive and the no-cache Pragma header.

Revalidate 4

Compare la copie de la ressource située dans le cache et celle située sur le serveur.Compares the copy of the resource in the cache with the copy on the server. Si la copie située sur le serveur est plus récente, elle est utilisée pour répondre à la demande et remplace la copie située dans le cache.If the copy on the server is newer, it is used to satisfy the request and replaces the copy in the cache. Si la copie située dans le cache est identique à celle du serveur, la copie du cache est utilisée.If the copy in the cache is the same as the server copy, the cached copy is used. Dans le protocole de mise en cache HTTP, vous pouvez accomplir cette tâche à l’aide d’une demande conditionnelle.In the HTTP caching protocol, this is achieved using a conditional request.

Exemples

L’exemple de code suivant affecte la valeur par défaut à la stratégie de mise en cache du domaine d’application.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;
}

Remarques

Cette énumération est utilisée pour définir le niveau de cache spécifié par HttpRequestCachePolicy objets.This enumeration is used to set the cache level specified by HttpRequestCachePolicy objects.

Cette BypassCache valeur est le comportement de cache par défaut spécifié dans le fichier de configuration d’ordinateur fourni avec le .NET Framework.This BypassCache value is the default cache behavior specified in the machine configuration file that ships with the .NET Framework. Aucune entrée n'est prise à partir des caches, ajoutée aux caches, ni supprimée des caches entre le client et serveur.No entries are taken from caches, added to caches, or removed from caches between the client and server.

La propriété HttpWebRequest.DefaultCachePolicy permet d’obtenir ou de définir la stratégie de cache par défaut pour les instances de HttpWebRequest.The HttpWebRequest.DefaultCachePolicy property is used to get or set the default cache policy for HttpWebRequest instances. La propriété WebRequest.DefaultCachePolicy permet d’obtenir ou de définir la stratégie de cache par défaut pour une instance WebRequest.The WebRequest.DefaultCachePolicy property is used to get or set the default cache policy for a WebRequest instance. La propriété CachePolicy permet d’obtenir ou de définir la stratégie de cache pour une requête spécifique.The CachePolicy property is used to get or set the cache policy for a specific request.

Une copie d’une ressource est uniquement ajoutée au cache si le flux de réponse pour la ressource est récupéré et lu à la fin du flux.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. Par conséquent, une autre demande pour la même ressource peut utiliser une copie mise en cache, en fonction du niveau de stratégie de cache par défaut pour cette requête.So another request for the same resource could use a cached copy, depending on the default cache policy level for this request.

S’applique à

Voir aussi