RequestCacheLevel É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 de WebRequest et de ses classes dérivées.
public enum class RequestCacheLevel
public enum RequestCacheLevel
type RequestCacheLevel =
Public Enum RequestCacheLevel
- 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. 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 d’une 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 | Satisfait une requête à l’aide de la copie mise en cache de la ressource si l’horodatage est identique à l’horodatage de la ressource sur le serveur ; sinon, la ressource est téléchargée à partir du serveur, présentée à l’appelant et stockée dans le cache. |
| 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 |
| 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 |
Exemples
L’exemple de code suivant crée une stratégie qui retourne une ressource uniquement si elle se trouve dans le cache.
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;
}
Remarques
Les membres de cette énumération sont utilisés pour initialiser des RequestCachePolicy objets. Le paramètre actuel d’un RequestCachePolicy objet est disponible dans la HttpRequestCachePolicy.Level propriété.
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.CachePolicy propriété est utilisée pour obtenir ou définir la stratégie de cache par défaut pour une WebRequest instance. La WebRequest.CachePolicy propriété est utilisée pour obtenir ou définir la stratégie de cache pour une requête spécifique.
Si le comportement du cache est CacheIfAvailable ou Revalidate, une copie d’une ressource demandée 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. Avec CacheIfAvailable, les demandes suivantes pour la même ressource utiliseraient une copie mise en cache. Avec Revalidate, les demandes suivantes pour la même ressource utilisent une copie mise en cache si l’horodatage de la ressource mise en cache est identique à l’horodatage de la ressource sur le serveur.
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.