Sdílet prostřednictvím


HttpRequestCacheLevel Výčet

Definice

Určuje chování při ukládání do mezipaměti pro prostředky získané pomocí protokolu HTTP (Hypertext Transfer Protocol).

public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel = 
Public Enum HttpRequestCacheLevel
Dědičnost
HttpRequestCacheLevel

Pole

Name Hodnota Description
Default 0

Splňuje požadavek na prostředek buď pomocí kopie prostředku uložené v mezipaměti, nebo odesláním požadavku na prostředek na server. Akce je určena aktuálními zásadami mezipaměti a věkem obsahu v mezipaměti. Toto je úroveň mezipaměti, kterou by měla používat většina aplikací.

BypassCache 1

Splňuje požadavek pomocí serveru. Z mezipamětí se neodeberou žádné položky, přidají se do mezipamětí nebo se odeberou z mezipamětí mezi klientem a serverem. Z mezipamětí se neodeberou žádné položky, přidají se do mezipamětí nebo se odeberou z mezipamětí mezi klientem a serverem. Toto je výchozí chování mezipaměti zadané v konfiguračním souboru počítače, který je dodáván s rozhraním .NET Framework.

CacheOnly 2

Splňuje požadavek pomocí místně uloženého prostředku v mezipaměti; neodesílá požadavek na položku, která není v mezipaměti. Pokud je zadána tato úroveň zásad mezipaměti, vyvolá se výjimka, WebException pokud položka není v mezipaměti klienta.

CacheIfAvailable 3

Splňuje požadavek na prostředek z mezipaměti, pokud je prostředek k dispozici; v opačném případě odešle požadavek na prostředek na server. Pokud je požadovaná položka k dispozici v jakékoli mezipaměti mezi klientem a serverem, může být požadavek splněn mezipamětí.

Revalidate 4

Porovná kopii prostředku v mezipaměti s kopií na serveru. Pokud je kopie na serveru novější, slouží k uspokojení požadavku a nahradí kopii v mezipaměti. Pokud je kopie v mezipaměti stejná jako kopie serveru, použije se kopie uložená v mezipaměti. V protokolu HTTP pro ukládání do mezipaměti se toho dosahuje pomocí podmíněného požadavku.

Reload 5

Splňuje požadavek pomocí serveru. Odpověď může být uložena v mezipaměti. V protokolu HTTP pro ukládání do mezipaměti se toho dosahuje pomocí direktivy řízení mezipaměti no-cache a hlavičky no-cache Pragma .

NoCacheNoStore 6

Nikdy nesplňuje požadavek pomocí prostředků z mezipaměti a neukládá prostředky do mezipaměti. Pokud je prostředek v místní mezipaměti, odebere se. Tato úroveň zásad označuje zprostředkující mezipaměti, které by měly prostředek odebrat. V protokolu HTTP pro ukládání do mezipaměti se toho dosahuje pomocí direktivy řízení mezipaměti bez mezipaměti.

CacheOrNextCacheOnly 7

Splňuje požadavek na prostředek z mezipaměti místního počítače nebo vzdálené mezipaměti v místní síti. Pokud požadavek nelze splnit, WebException vyvolá se výjimka. V protokolu HTTP pro ukládání do mezipaměti se toho dosahuje pomocí direktivy only-if-cached řízení mezipaměti.

Refresh 8

Splňuje požadavek pomocí serveru nebo jiné mezipaměti než místní mezipaměti. Aby požadavek mohl být splněn prostřednictvím mezipaměti, musí tato mezipaměť znovu ověřit svá uložená data u serveru. V protokolu HTTP pro ukládání do mezipaměti se toho dosahuje pomocí direktivy max-age = 0 cache control a hlavičky no-cache Pragma .

Příklady

Následující příklad kódu nastaví zásady ukládání do mezipaměti domény aplikace na výchozí.

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

Tento výčet slouží k nastavení úrovně mezipaměti určené HttpRequestCachePolicy objekty.

Tato BypassCache hodnota je výchozí chování mezipaměti zadané v konfiguračním souboru počítače, který je dodáván s rozhraním .NET Framework. Z mezipamětí se neodeberou žádné položky, přidají se do mezipamětí nebo se odeberou z mezipamětí mezi klientem a serverem.

Vlastnost HttpWebRequest.DefaultCachePolicy slouží k získání nebo nastavení výchozích zásad mezipaměti pro HttpWebRequest instance. Vlastnost WebRequest.DefaultCachePolicy slouží k získání nebo nastavení výchozích zásad mezipaměti pro WebRequest instanci. Vlastnost CachePolicy slouží k získání nebo nastavení zásad mezipaměti pro konkrétní požadavek.

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ší požadavek na stejný prostředek by tedy mohl použít kopii uloženou v mezipaměti v závislosti na výchozí úrovni zásad mezipaměti pro tento požadavek.

Platí pro

Viz také