HttpRequestCacheLevel Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie le comportement de mise en cache des ressources obtenues à l’aide du protocole HTTP (Hypertext Transfer Protocol).
public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel =
Public Enum HttpRequestCacheLevel
- Héritage
Champs
| Nom | Valeur | Description |
|---|---|---|
| Default | 0 | Satisfait une demande d’une ressource à l’aide de la copie mise en cache de la ressource ou en envoyant une demande de la ressource au serveur. L’action effectuée est déterminée par la stratégie de cache actuelle et l’âge du contenu dans le cache. Il s’agit du niveau de cache qui doit être utilisé par la plupart des applications. |
| BypassCache | 1 | Satisfait une demande à l’aide du serveur. Aucune entrée n’est extraite des caches, ajoutées aux caches ou supprimées des caches entre le client et le serveur. Aucune entrée n’est extraite des caches, ajoutées aux caches ou supprimées des caches entre le client et le serveur. Il s’agit du comportement de cache par défaut spécifié dans le fichier de configuration de l’ordinateur fourni avec le .NET Framework. |
| CacheOnly | 2 | Satisfait une demande à l’aide de la ressource mise en cache localement ; n’envoie pas de demande d’élément qui n’est pas dans le cache. Lorsque ce niveau de stratégie de cache est spécifié, une WebException exception est levée si l’élément n’est pas dans le cache du client. |
| CacheIfAvailable | 3 | Satisfait une demande de ressource à partir du cache si la ressource est disponible ; sinon, envoie une demande de ressource au serveur. Si l’élément demandé est disponible dans un cache entre le client et le serveur, la demande peut être satisfaite par le cache intermédiaire. |
| Revalidate | 4 | Compare la copie de la ressource dans le cache avec la copie sur le serveur. Si la copie sur le serveur est plus récente, elle est utilisée pour satisfaire la demande et remplace la copie dans le cache. Si la copie dans le cache est identique à la copie du serveur, la copie mise en cache est utilisée. Dans le protocole de mise en cache HTTP, cette opération est effectuée à l’aide d’une requête conditionnelle. |
| Reload | 5 | Satisfait une demande à l’aide du serveur. La réponse peut être enregistrée dans le cache. Dans le protocole de mise en cache HTTP, cela est obtenu à l’aide de la directive de contrôle de cache sans cache et de l’en-tête no-cache |
| NoCacheNoStore | 6 | Ne répond jamais à une demande à l’aide de ressources du cache et ne met pas en cache les ressources. Si la ressource est présente dans le cache local, elle est supprimée. Ce niveau de stratégie indique aux caches intermédiaires qu’ils doivent supprimer la ressource. Dans le protocole de mise en cache HTTP, cette opération est obtenue à l’aide de la directive de contrôle de cache sans 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. Si la demande ne peut pas être satisfaite, une WebException exception est levée. Dans le protocole de mise en cache HTTP, cette opération est obtenue à l’aide de la |
| Refresh | 8 | Satisfait une demande à l’aide du serveur ou d’un cache autre que le cache local. Avant que la demande puisse être satisfaite par un cache intermédiaire, ce cache doit revalider son entrée mise en cache avec le serveur. Dans le protocole de mise en cache HTTP, cette opération est obtenue à l’aide de la directive de contrôle de cache max-age = 0 et de l’en-tête no-cache |
Exemples
L’exemple de code suivant définit la stratégie de mise en cache du domaine d’application sur Default.
// 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 les objets.
Cette BypassCache valeur est le comportement de cache par défaut spécifié dans le fichier de configuration de l’ordinateur fourni avec le .NET Framework. Aucune entrée n’est extraite des caches, ajoutées aux caches ou supprimées des caches entre le client et le serveur.
La HttpWebRequest.DefaultCachePolicy propriété est utilisée pour obtenir ou définir la stratégie de cache par défaut pour HttpWebRequest les instances. La WebRequest.DefaultCachePolicy propriété est utilisée pour obtenir ou définir la stratégie de cache par défaut pour une WebRequest instance. La CachePolicy propriété est utilisée pour obtenir ou définir la stratégie de cache pour une requête spécifique.
Une copie d’une ressource est ajoutée uniquement au cache si le flux de réponse de la ressource est récupéré et lu à la fin du flux. 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.