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

Aktuální zásady mezipaměti a přítomnost požadovaného prostředku v mezipaměti určují, jestli je možné z mezipaměti 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 DefaultCachePolicy vlastnosti pro požadavky, které používají schéma identifikátoru URI protokolu HTTP (Hypertext Transfer Protocol) nebo HTTPS (Secure Hypertext Transfer Protocol).

Kopie prostředku se do mezipaměti přidá pouze v případě, že se datový proud odpovědi pro prostředek načte a přečte na konec datového proudu. V závislosti na úrovni zásad mezipaměti pro tento požadavek proto může další požadavek na stejný prostředek používat kopii uloženou v mezipaměti.

Platí pro

Viz také