PolicyHttpMessageHandler Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
DelegatingHandlerImplementacja, która wykonuje przetwarzanie żądań w otoce Policy .
public ref class PolicyHttpMessageHandler : System::Net::Http::DelegatingHandler
public class PolicyHttpMessageHandler : System.Net.Http.DelegatingHandler
type PolicyHttpMessageHandler = class
inherit DelegatingHandler
Public Class PolicyHttpMessageHandler
Inherits DelegatingHandler
- Dziedziczenie
Uwagi
Ta implementacja procedury obsługi komunikatów obsługuje korzystanie z zasad dostarczanych przez bibliotekę Polly w celu obsługi błędów przejściowych i odporności.
W dokumentacji podanej w tym miejscu skoncentrowano się na wskazówkach dotyczących korzystania z usługi Polly razem z usługą IHttpClientFactory . Zobacz projekt Polly i jego dokumentację, aby uzyskać autorytatywne informacje na temat tej ankiety.
Metody rozszerzeń na PollyHttpClientBuilderExtensions platformie zostały zaprojektowane jako wygodny i poprawny sposób tworzenia pliku PolicyHttpMessageHandler .
Metoda AddPolicyHandler(IHttpClientBuilder, IAsyncPolicy<HttpResponseMessage>) obsługuje tworzenie dla dowolnego rodzaju PolicyHttpMessageHandler zasad. Obejmuje to zasady niereaktywne, takie jak limit czasu lub pamięć podręczna, które nie wymagają, aby bazowe żądanie najpierw zakończyło się niepowodzeniem.
PolicyHttpMessageHandler Metody PollyHttpClientBuilderExtensions i wygodne akceptują tylko typ ogólny IAsyncPolicy`1 . Wystąpienia zasad ogólnych można tworzyć przy użyciu metod ogólnych na przykład Policy TimeoutAsync``1(System.Int32) .
Aby dostosować istniejący element IAsyncPolicy niegeneryczny, użyj kodu podobnego do następującego:
policy.AsAsyncPolicy<HttpResponseMessage>()
Metoda jest wygodną metodą, która obsługuje stosowanie zasad dla żądań, które nie powiodły się z powodu błędu połączenia lub błędu serwera (kod stanu AddTransientHttpErrorPolicy(IHttpClientBuilder, Func<PolicyBuilder<HttpResponseMessage>,IAsyncPolicy<HttpResponseMessage>>) HTTP 5XX). Ten rodzaj metody obsługuje tylko zasady reaktywne, takie jak ponawianie, Circuit-Breaker lub rezerwowy. Ta metoda jest dostępna tylko dla wygody; Zalecamy utworzenie własnych zasad zgodnie z potrzebami, jeśli nie spełnia to wymagań.
Należy zadbać o to, aby używać razem zasad, takich jak Ponawianie próby lub Limit czasu, ponieważ klienta HttpClient zapewnia własny limit czasu za pośrednictwem . Timeout W przypadku łączenia opcji Ponów i Limit czasu program będzie działać jako limit czasu dla wszystkich prób. Zasady limitu czasu sondowania można skonfigurować po zasadach ponawiania w sekwencji konfiguracji, aby zapewnić limit czasu na Timeout próbę.
Wszystkie zasady udostępniane przez usługę Polly są zaprojektowane tak, aby zapewniały wydajność w przypadku długotrwałego korzystania z nich. Niektóre zasady, takie jak grodzie i Circuit-Breaker, utrzymują stan i powinny być objęte zakresem wywołań, które mają być współużytkowane przez grodzie lub Circuit-Breaker stan. Podczas używania zasad i programów obsługi komunikatów razem w scenariuszach niestandardowych należy zadbać o prawidłowe okresy istnienia. Metody rozszerzeń udostępniane przez program są przeznaczone do przypisywania zasad długiego okresu istnienia i upewniają się, że mogą być używane, gdy funkcja rotacji programu obsługi PollyHttpClientBuilderExtensions jest aktywna.
Zostanie PolicyHttpMessageHandler dołączyć kontekst do przed wykonaniem , jeśli HttpRequestMessage jeszcze nie Policy istnieje. Zostanie on podany w zasadach do użycia wewnątrz i Context Policy w innych procedurach obsługi komunikatów.
Konstruktory
Właściwości
| InnerHandler |
Pobiera lub ustawia wewnętrzną procedurę obsługi, która przetwarza komunikaty odpowiedzi HTTP. (Odziedziczone po DelegatingHandler) |
Metody
| Dispose() |
Zwalnia niezarządzane zasoby i usuwa zasoby zarządzane używane przez HttpMessageHandlerprogram . (Odziedziczone po HttpMessageHandler) |
| Dispose(Boolean) |
Zwalnia niezarządzane zasoby używane przez DelegatingHandlerprogram i opcjonalnie usuwa zasoby zarządzane. (Odziedziczone po DelegatingHandler) |
| Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
| GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
| Send(HttpRequestMessage, CancellationToken) |
Wysyła żądanie HTTP do wewnętrznego programu obsługi w celu wysłania na serwer. (Odziedziczone po DelegatingHandler) |
| SendAsync(HttpRequestMessage, CancellationToken) |
Wysyła żądanie HTTP do wewnętrznego programu obsługi w celu wysłania do serwera jako operacji asynchronicznej. |
| SendCoreAsync(HttpRequestMessage, Context, CancellationToken) |
Wywoływana wewnątrz wykonywania w Policy celu wykonania przetwarzania żądań. |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |