WebRequest.CachePolicy Właściwość

Definicja

Pobiera lub ustawia zasady pamięci podręcznej dla tego żądania.Gets or sets the cache policy for this request.

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; }
member this.CachePolicy : System.Net.Cache.RequestCachePolicy with get, set
Public Overridable Property CachePolicy As RequestCachePolicy

Wartość właściwości

Obiekt RequestCachePolicy, który definiuje zasady pamięci podręcznej.A RequestCachePolicy object that defines a cache policy.

Przykłady

Poniższy przykład kodu pokazuje, jak ustawić zasady pamięci podręcznej dla żądania sieci Web.The following code example demonstrates setting the cache policy for a Web request.

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

Uwagi

Bieżące zasady pamięci podręcznej i obecność żądanego zasobu w pamięci podręcznej określają, czy można pobrać odpowiedź z pamięci podręcznej.The current cache policy and the presence of the requested resource in the cache determine whether a response can be retrieved from the cache. Używanie buforowanych odpowiedzi zwykle zwiększa wydajność aplikacji, ale istnieje ryzyko, że odpowiedź w pamięci podręcznej nie jest zgodna z odpowiedzią na serwerze.Using cached responses usually improves application performance, but there is a risk that the response in the cache does not match the response on the server.

Domyślne zasady pamięci podręcznej można określić w pliku konfiguracyjnym Machine. config lub ustawiając właściwość DefaultCachePolicy dla żądań, które używają schematu URI protokołu HTTP (Hypertext Transfer Protocol) lub protokołu HTTPS (Secure Hypertext Transfer Protocol).Default cache policy can be specified in the Machine.config configuration file or by setting the DefaultCachePolicy property for requests that use the Hypertext Transfer Protocol (HTTP) or Secure Hypertext Transfer Protocol (HTTPS) URI scheme.

Kopia zasobu jest dodawana tylko do pamięci podręcznej, jeśli strumień odpowiedzi dla zasobu jest pobierany i odczytywany na końcu strumienia.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. Dlatego inne żądanie dotyczące tego samego zasobu może korzystać z kopii w pamięci podręcznej, w zależności od poziomu zasad pamięci podręcznej dla tego żądania.So another request for the same resource could use a cached copy, depending on the cache policy level for this request.

Dotyczy

Zobacz też