Udostępnij za pośrednictwem


WebRequest.CachePolicy Właściwość

Definicja

Pobiera lub ustawia zasady pamięci podręcznej dla tego żądania.

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

Wartość właściwości

Obiekt RequestCachePolicy definiujący zasady pamięci podręcznej.

Przykłady

W poniższym przykładzie kodu pokazano ustawienie zasad pamięci podręcznej dla żądania sieci 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;
}

Uwagi

Ostrożność

WebRequest, HttpWebRequest, ServicePointi WebClient są przestarzałe i nie należy ich używać do tworzenia nowych aplikacji. Zamiast tego użyj HttpClient.

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. Użycie buforowanych odpowiedzi zwykle poprawia wydajność aplikacji, ale istnieje ryzyko, że odpowiedź w pamięci podręcznej nie jest zgodna z odpowiedzią na serwerze.

Domyślne zasady pamięci podręcznej można określić w pliku konfiguracji Machine.config lub ustawiając właściwość DefaultCachePolicy dla żądań używających schematu identyfikatora URI protokołu HTTP (Hypertext Transfer Protocol) lub Bezpiecznego protokołu transferu hipertekstowego (HTTPS).

Kopia zasobu jest dodawana tylko do pamięci podręcznej, jeśli strumień odpowiedzi zasobu zostanie pobrany i odczytany na końcu strumienia. Dlatego inne żądanie dla tego samego zasobu może używać kopii w pamięci podręcznej, w zależności od poziomu zasad pamięci podręcznej dla tego żądania.

Dotyczy

Zobacz też