RequestCacheLevel Wyliczenie

Definicja

Określa zachowanie buforowania dla zasobów uzyskanych przy użyciu WebRequest i jego 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, który jest dostarczany 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 być spełnione przez pośrednią pamięć podręczną.

CacheOnly 2

Spełnia żądanie przy użyciu zasobu lokalnie buforowanego; nie wysyła żądania dla elementu, który nie znajduje się w pamięci podręcznej. Po określeniu tego poziomu zasad pamięci podręcznej zgłaszany jest 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 dla zasobu na serwer. 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 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 obiekt wywołujący i przechowywany w pamięci podręcznej.

Przykłady

Poniższy przykład kodu tworzy zasady zwracające 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ść WebRequest.CachePolicy służy do pobierania lub ustawiania domyślnych zasad pamięci podręcznej dla WebRequest wystąpień. Właściwość WebRequest.CachePolicy służy do pobierania 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 zostanie pobrany i odczytany 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 będą używać buforowanej kopii, jeśli sygnatura czasowa buforowanego zasobu jest taka sama jak sygnatura czasowa zasobu na serwerze.

Kopia zasobu jest dodawana tylko do pamięci podręcznej, jeśli strumień odpowiedzi zasobu zostanie pobrany i odczytany na końcu strumienia. Dlatego 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ż