Sdílet prostřednictvím


WebRequest.CachePolicy Vlastnost

Definice

Získá nebo nastaví zásady mezipaměti pro tento požadavek.

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

Hodnota vlastnosti

Objekt RequestCachePolicy, který definuje zásady mezipaměti.

Příklady

Následující příklad kódu ukazuje nastavení zásad mezipaměti pro webový požadavek.

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

Poznámky

Opatrnost

WebRequest, HttpWebRequest, ServicePointa WebClient jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.

Aktuální zásady mezipaměti a přítomnost požadovaného prostředku v mezipaměti určují, jestli se z mezipaměti dá načíst odpověď. Použití odpovědí uložených v mezipaměti obvykle zlepšuje výkon aplikace, ale existuje riziko, že odpověď v mezipaměti neodpovídá odpovědi na serveru.

Výchozí zásady mezipaměti je možné zadat v konfiguračním souboru Machine.config nebo nastavením vlastnosti DefaultCachePolicy pro požadavky, které používají schéma URI protokolu HTTP (Hypertext Transfer Protocol) nebo protokolu HTTPS (Secure Hypertext Transfer Protocol).

Kopie prostředku se přidá do mezipaměti pouze v případě, že se načte stream odpovědí pro prostředek a načte se na konec datového proudu. Další žádost o stejný prostředek by proto mohla použít kopii uloženou v mezipaměti v závislosti na úrovni zásad mezipaměti pro tento požadavek.

Platí pro

Viz také