HttpRequestCacheLevel Wyliczenie

Definicja

Określa zachowanie buforowania dla zasobów uzyskanych przy użyciu protokołu HTTP (Hypertext Transfer Protocol).

public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel = 
Public Enum HttpRequestCacheLevel
Dziedziczenie
HttpRequestCacheLevel

Pola

BypassCache 1

Spełnia żądanie przy użyciu serwera. Żadne wpisy nie są pobierane z pamięci podręcznych, dodawane do pamięci podręcznych ani usuwane z pamięci podręcznych między klientem a serwerem. Żadne wpisy nie są pobierane z pamięci podręcznych, dodawane do pamięci podręcznych ani usuwane z pamięci podręcznych między klientem a serwerem. Jest to domyślne zachowanie pamięci podręcznej określone w pliku konfiguracji maszyny dostarczane z .NET Framework.

CacheIfAvailable 3

Spełnia żądanie zasobu z pamięci podręcznej, jeśli zasób jest dostępny; w przeciwnym razie wysyła żądanie zasobu do serwera. Jeśli żądany element jest dostępny w dowolnej pamięci podręcznej między klientem a serwerem, żądanie może zostać spełnione przez pośrednią pamięć podręczną.

CacheOnly 2

Spełnia żądanie przy użyciu lokalnie buforowanego zasobu; program nie wysyła żądania dla elementu, który nie znajduje się w pamięci podręcznej. Po określeniu poziomu zasad pamięci podręcznej jest zgłaszany wyjątek, WebException jeśli element nie znajduje się w pamięci podręcznej klienta.

CacheOrNextCacheOnly 7

Spełnia żądanie zasobu z pamięci podręcznej komputera lokalnego lub zdalnej pamięci podręcznej w sieci lokalnej. Jeśli nie można spełnić żądania, zgłaszany WebException jest wyjątek. W protokole buforowania HTTP jest to realizowane przy użyciu only-if-cached dyrektywy kontroli pamięci podręcznej.

Default 0

Spełnia żądanie zasobu przy użyciu buforowanej kopii zasobu lub wysyłając żądanie dotyczące zasobu do serwera. Podjęta akcja jest określana przez bieżące zasady pamięci podręcznej i wiek zawartości w pamięci podręcznej. Jest to poziom pamięci podręcznej, który powinien być używany przez większość aplikacji.

NoCacheNoStore 6

Nigdy nie spełnia żądania przy użyciu zasobów z pamięci podręcznej i nie buforuje zasobów. Jeśli zasób znajduje się w lokalnej pamięci podręcznej, zostanie on usunięty. Ten poziom zasad wskazuje na pośrednie pamięci podręczne, które powinny usunąć zasób. W protokole buforowania HTTP jest to realizowane przy użyciu dyrektywy kontroli pamięci podręcznej bez pamięci podręcznej.

Refresh 8

Spełnia żądanie przy użyciu serwera lub pamięci podręcznej innej niż lokalna pamięć podręczna. Aby żądanie było spełnione przez pośrednią pamięć podręczną, pamięć podręczna musi ponownie zrewidować jego wpis w pamięci podręcznej z serwerem. W protokole buforowania HTTP jest to osiągane przy użyciu dyrektywy max-age = 0 kontroli pamięci podręcznej i nagłówka no-cache Pragma .

Reload 5

Spełnia żądanie przy użyciu serwera. Odpowiedź może zostać zapisana w pamięci podręcznej. W protokole buforowania HTTP jest to realizowane przy użyciu dyrektywy kontroli pamięci podręcznej bez pamięci podręcznej i nagłówka no-cache Pragma .

Revalidate 4

Porównuje kopię zasobu w pamięci podręcznej z kopią na serwerze. Jeśli kopia na serwerze jest nowsza, jest używana do spełnienia żądania i zastępuje kopię w pamięci podręcznej. Jeśli kopia w pamięci podręcznej jest taka sama jak kopia serwera, używana jest buforowana kopia. W protokole buforowania HTTP jest to realizowane przy użyciu żądania warunkowego.

Przykłady

Poniższy przykład kodu ustawia zasady buforowania domeny aplikacji na Wartość domyślna.

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

Uwagi

To wyliczenie służy do ustawiania poziomu pamięci podręcznej określonego przez HttpRequestCachePolicy obiekty.

Ta BypassCache wartość jest domyślnym zachowaniem pamięci podręcznej określonym w pliku konfiguracji maszyny dostarczanym z .NET Framework. Żadne wpisy nie są pobierane z pamięci podręcznych, dodawane do pamięci podręcznych ani usuwane z pamięci podręcznych między klientem a serwerem.

Właściwość służy do pobierania HttpWebRequest.DefaultCachePolicy lub ustawiania domyślnych zasad pamięci podręcznej dla HttpWebRequest wystąpień. Właściwość służy do pobierania WebRequest.DefaultCachePolicy lub ustawiania domyślnych zasad pamięci podręcznej dla WebRequest wystąpienia. Właściwość służy do pobierania CachePolicy lub ustawiania zasad pamięci podręcznej dla określonego żądania.

Kopia zasobu jest dodawana tylko do pamięci podręcznej, jeśli strumień odpowiedzi zasobu jest pobierany i odczytywany na końcu strumienia. W związku z tym inne żądanie dla tego samego zasobu może używać kopii w pamięci podręcznej, w zależności od domyślnego poziomu zasad pamięci podręcznej dla tego żądania.

Dotyczy

Zobacz też