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

RequestCachePolicy

RequestCachePolicy Obiekt, który definiuje zasady pamięci podręcznej.

Przykłady

Poniższy przykład kodu przedstawia 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

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 DefaultCachePolicy właściwość dla żądań używających schematu identyfikatora URI protokołu HTTP (Hypertext Transfer Protocol) lub Secure Hypertext Transfer Protocol (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żyć kopii w pamięci podręcznej, w zależności od poziomu zasad pamięci podręcznej dla tego żądania.

Dotyczy

Zobacz też