Stratégie de cache
Une stratégie de cache définit les règles utilisées pour déterminer si une requête peut être satisfaite à l’aide d’une copie mise en cache de la ressource demandée. Les applications spécifient les exigences d’actualisation du cache du client, mais la stratégie de cache effective est déterminée par les exigences de cache du client, les exigences d’expiration du contenu du serveur, et les exigences de revalidation du serveur. L’interaction entre la stratégie de cache du client et les exigences du serveur ont toujours comme résultat la stratégie de cache la plus restrictive, afin d’aider à garantir que le contenu le plus récent est renvoyé à l’application cliente.
Les stratégies de cache sont basées sur l’emplacement ou sur la durée. Une stratégie de cache basée sur l’emplacement définit l’actualisation des entrées en cache en fonction de l’emplacement d’où la ressource demandée peut être récupérée. Une stratégie de cache basée sur la durée définit l’actualisation des entrées en cache en fonction de l’heure de récupération de la ressource, des en-têtes retournés avec la ressource et de l’heure actuelle. La plupart des applications peuvent utiliser la stratégie de cache basée sur la durée par défaut, qui implémente la stratégie de mise en cache spécifiée dans le document RFC 2616, disponible sur le site web Internet Engineering Task Force (IETF).
Les classes décrites dans le tableau suivant permettent de spécifier des stratégies de cache.
Nom de classe | Description |
---|---|
HttpRequestCachePolicy | Représente des stratégies de cache basées sur l’emplacement et sur la durée pour les ressources demandées à l’aide d’objets HttpWebRequest. |
RequestCachePolicy | Représente des stratégies de cache basées sur l’emplacement ou la stratégie de cache basée sur la durée Default pour les ressources demandées à l’aide d’objets WebRequest. |
HttpCacheAgeControl | Spécifie les valeurs utilisées pour créer des objets HttpRequestCachePolicy basés sur la durée. |
HttpRequestCacheLevel | Spécifie les valeurs utilisées pour créer des objets HttpRequestCachePolicy basés sur la durée et sur l’emplacement. |
RequestCacheLevel | Spécifie les valeurs utilisées pour créer des objets basés sur l’emplacement ou les objets RequestCachePolicy basés sur la durée Default. |
Vous pouvez définir une stratégie de cache pour toutes les requêtes effectuées par votre application ou pour des requêtes individuelles. Quand vous spécifiez à la fois une stratégie de cache au niveau de l’application et une stratégie de cache au niveau de la requête, c’est la stratégie au niveau de la requête qui est utilisée. Vous pouvez spécifier une stratégie de cache au niveau de l’application par programmation ou à l’aide de fichiers de configuration d’application ou d’ordinateur. Pour plus d’informations, consultez <requestCaching>, élément (Paramètres réseau).
Pour créer une stratégie de cache, vous devez créer un objet de stratégie en créant une instance de la classe RequestCachePolicy ou HttpRequestCachePolicy. Pour spécifier la stratégie sur une requête, affectez l’objet de stratégie comme valeur de la propriété CachePolicy de la requête. Quand vous définissez une stratégie au niveau de l’application par programmation, affectez l’objet de stratégie comme valeur de la propriété DefaultCachePolicy.
Pour obtenir des exemples de code qui montrent comment créer et utiliser des stratégies de cache, consultez Configuration de la mise en cache dans les applications réseau.