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 Obiekt, który definiuje 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

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 odpowiada odpowiedzi na serwerze.

Domyślne zasady pamięci podręcznej można określić w pliku konfiguracji Machine.config lub przez ustawienie DefaultCachePolicy właściwości 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 jest pobierany i odczytywany na końcu strumienia. W związku z tym 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ż