RequestCacheLevel Wyliczenie

Definicja

Określa zachowanie buforowania dla zasobów uzyskanych przy użyciu WebRequest i jej klas pochodnych.

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

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

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 no-cache dyrektywy kontroli pamięci podręcznej.

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 no-cache dyrektywy kontroli pamięci podręcznej i nagłówka no-cache Pragma .

Revalidate 4

Spełnia żądanie przy użyciu buforowanej kopii zasobu, jeśli sygnatura czasowa jest taka sama jak sygnatura czasowa zasobu na serwerze; w przeciwnym razie zasób jest pobierany z serwera, prezentowany obiektowi wywołującego i przechowywany w pamięci podręcznej.

Przykłady

Poniższy przykład kodu tworzy zasady, które zwracają zasób tylko wtedy, gdy znajduje się w pamięci podręcznej.

static WebResponse^ GetResponseFromCache( Uri^ uri )
{
   RequestCachePolicy^ policy = gcnew RequestCachePolicy( RequestCacheLevel::CacheOnly );
   WebRequest^ request = WebRequest::Create( uri );
   request->CachePolicy = policy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"Policy level is {0}.", policy->Level );
   Console::WriteLine( L"Is the response from the cache? {0}", response->IsFromCache );
   return response;
}
public static WebResponse GetResponseFromCache(Uri uri)
{
     RequestCachePolicy policy =
        new  RequestCachePolicy( RequestCacheLevel.CacheOnly);
    WebRequest request = WebRequest.Create(uri);
    request.CachePolicy = policy;
    WebResponse response = request.GetResponse();
    Console.WriteLine("Policy level is {0}.", policy.Level.ToString());
    Console.WriteLine("Is the response from the cache? {0}", response.IsFromCache);
    return response;
}

Uwagi

Elementy członkowskie tego wyliczenia są używane do inicjowania RequestCachePolicy obiektów. Bieżące ustawienie obiektu RequestCachePolicy jest dostępne we HttpRequestCachePolicy.Level właściwości .

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.CachePolicy lub ustawiania domyślnych zasad pamięci podręcznej dla WebRequest wystąpień. Właściwość służy do pobierania WebRequest.CachePolicy lub ustawiania zasad pamięci podręcznej dla określonego żądania.

Jeśli zachowanie pamięci podręcznej to CacheIfAvailable lub Revalidate, kopia żądanego zasobu jest dodawana tylko do pamięci podręcznej, jeśli strumień odpowiedzi zasobu jest pobierany i odczytywany na końcu strumienia. W przypadku CacheIfAvailableprogramu kolejne żądania dla tego samego zasobu będą używać kopii w pamięci podręcznej. W przypadku Revalidateprogramu kolejne żądania dla tego samego zasobu używają buforowanej kopii, jeśli sygnatura czasowa zasobu buforowanego jest taka sama jak sygnatura czasowa zasobu na serwerze.

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ż