Partage via


WebRequest.CachePolicy Propriété

Définition

Obtient ou définit la stratégie de cache pour cette requête.

public:
 virtual property System::Net::Cache::RequestCachePolicy ^ CachePolicy { System::Net::Cache::RequestCachePolicy ^ get(); void set(System::Net::Cache::RequestCachePolicy ^ value); };
public virtual System.Net.Cache.RequestCachePolicy? CachePolicy { get; set; }
public virtual System.Net.Cache.RequestCachePolicy CachePolicy { get; set; }
member this.CachePolicy : System.Net.Cache.RequestCachePolicy with get, set
Public Overridable Property CachePolicy As RequestCachePolicy

Valeur de propriété

Objet RequestCachePolicy qui définit une stratégie de cache.

Exemples

L’exemple de code suivant illustre la définition de la stratégie de cache pour une requête Web.

// 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

Prudence

WebRequest, HttpWebRequest, ServicePointet WebClient sont obsolètes et vous ne devez pas les utiliser pour le nouveau développement. Utilisez HttpClient à la place.

La stratégie de cache actuelle et la présence de la ressource demandée dans le cache déterminent si une réponse peut être récupérée à partir du cache. L’utilisation de réponses mises en cache améliore généralement les performances de l’application, mais il existe un risque que la réponse dans le cache ne corresponde pas à la réponse sur le serveur.

La stratégie de cache par défaut peut être spécifiée dans le fichier de configuration Machine.config ou en définissant la propriété DefaultCachePolicy pour les requêtes qui utilisent le schéma d’URI HTTP (Hypertext Transfer Protocol) ou HTTPS (Secure Hypertext Transfer Protocol).

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 pour cette requête.

S’applique à

Voir aussi