Dela via


Location-Based Cacheprinciper

En platsbaserad cacheprincip definierar nyttigheten för giltiga cachelagrade poster baserat på var den begärda resursen kan hämtas från. En cachelagrad resurs är giltig om användningen inte strider mot serverspecifika krav på omvalidering. En platsbaserad cacheprincip skapas programmatiskt med hjälp av en RequestCachePolicy konstruktor eller HttpRequestCachePolicy klasskonstruktor. Den platsbaserade policytypen skickas till konstruktorn genom att använda ett RequestCacheLevel uppräkningsvärde HttpRequestCacheLevel. Kodexempel som skapar platsbaserade cacheprinciper finns i Så här anger du en Location-Based cacheprincip för ett program. I följande avsnitt beskrivs varje typ av platsbaserad cacheprincip för Hypertext Transfer Protocol-resurser (http och https).

Policy för cache om tillgänglig

Om en giltig begärd resurs finns i den lokala cachen används den cachelagrade resursen. Annars skickas begäran för resursen till servern. Om den begärda resursen är tillgänglig i någon cache mellan klienten och servern kan begäran uppfyllas av en mellanliggande cache.

Endast cacheprincip

Om en giltig begärd resurs finns i den lokala cachen används den cachelagrade resursen. När den här cacheprincipnivån har angetts utlöses ett WebException undantag om objektet inte finns i den lokala cachen.

Endast cache- eller nästa cacheprincip

Om en giltig begärd resurs finns i den lokala cachen eller en mellanliggande cache i det lokala nätverket används den cachelagrade resursen. Annars utlöses ett WebException undantag. I HTTP-cachelagringsprotokollet uppnås detta med hjälp av det enda om-cachelagrade cachekontrolldirektivet.

Ingen cache ingen lagringsprincip

En begärd resurs används aldrig från någon cache och placeras aldrig i någon cache. Om en begärd resurs finns i den lokala cachen tas den bort. Den här principnivån anger för mellanliggande cacheminnen att de också ska ta bort resursen. I HTTP-cachelagringsprotokollet uppnås detta med hjälp av kontrolldirektivet för cachekontroll utan lagring.

Uppdatera princip

En begärd resurs kan användas om den hämtas från servern eller hittas i en annan cache än den lokala cachen. Innan en begäran kan uppfyllas av en mellanliggande cache måste cacheminnet validera om sitt cachelagrade objekt mot servern. I HTTP-cacheprotokollet uppnås detta med cachekontrolldirektivet max-age=0 och Pragma-huvudet no-cache.

Uppdateringspolicy

Begärda resurser måste hämtas från servern. Svaret kan sparas i den lokala cachen. I HTTP-cacheprotokollet uppnås detta med hjälp av no-cache-kontrolldirektivet och no-cache Pragma-headern.

Omvalidera princip

Jämför kopian av resursen i cacheminnet med kopian på servern. Om kopian på servern är nyare används den för att uppfylla begäran och ersätter kopian i cacheminnet. Om kopian i cacheminnet är samma som serverkopian används den cachelagrade kopian. I HTTP-cachelagringsprotokollet uppnås detta med hjälp av en villkorlig begäran.

Se även