WebRequest.CachePolicy Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger cacheprincipen för den här begäran.
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; }
member this.CachePolicy : System.Net.Cache.RequestCachePolicy with get, set
Public Overridable Property CachePolicy As RequestCachePolicy
Egenskapsvärde
Ett RequestCachePolicy objekt som definierar en cacheprincip.
Exempel
I följande kodexempel visas hur du ställer in cacheprincipen för en webbbegäran.
// 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;
}
Kommentarer
Caution
WebRequest, HttpWebRequest, ServicePoint, och WebClient är föråldrade och du bör inte använda dem för ny utveckling. Använd HttpClient i stället.
Den aktuella cacheprincipen och förekomsten av den begärda resursen i cacheminnet avgör om ett svar kan hämtas från cachen. Att använda cachelagrade svar förbättrar vanligtvis programmets prestanda, men det finns en risk att svaret i cacheminnet inte matchar svaret på servern.
Standardprincip för cacheminne kan anges i konfigurationsfilen Machine.config eller genom att ange DefaultCachePolicy egenskapen för begäranden som använder URI-schemat Hypertext Transfer Protocol (HTTP) eller Secure Hypertext Transfer Protocol (HTTPS).
En kopia av en resurs läggs bara till i cacheminnet om svarsströmmen för resursen hämtas och läss till slutet av dataströmmen. En annan begäran för samma resurs kan därför använda en cachelagrad kopia, beroende på cacheprincipnivån för den här begäran.