PolicyHttpMessageHandler Klasse

Definition

Eine DelegatingHandler-Implementierung, die die Anforderungsverarbeitung in einer Policy ausführt.

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
Vererbung
PolicyHttpMessageHandler

Hinweise

Diese Nachrichtenhandlerimplementierung unterstützt die Verwendung von Richtlinien, die von der Polly-Bibliothek für die Behandlung vorübergehender Fehler und Resilienz bereitgestellt werden.

Die hier bereitgestellte Dokumentation enthält eine anleitung für die Verwendung von Polly zusammen mit .IHttpClientFactory Lesen Sie das Polly-Projekt und die zugehörige Dokumentation für maßgebliche Informationen zu Polly.

Die Erweiterungsmethoden für PollyHttpClientBuilderExtensions sind als bequeme und korrekte Methode zum Erstellen eines PolicyHttpMessageHandlerkonzipiert.

Die AddPolicyHandler(IHttpClientBuilder, IAsyncPolicy<HttpResponseMessage>) -Methode unterstützt die Erstellung einer PolicyHttpMessageHandler für jede Art von Richtlinie. Dies schließt nicht reaktive Richtlinien ein, z. B. Timeout oder Cache, für die nicht erforderlich ist, dass die zugrunde liegende Anforderung zuerst fehlschlägt.

PolicyHttpMessageHandlerund die PollyHttpClientBuilderExtensions Hilfsmethoden akzeptieren nur den generischen IAsyncPolicy`1 . Generische Richtlinieninstanzen können mithilfe der generischen Methoden Policy für erstellt werden, z TimeoutAsync``1(System.Int32). B. .

Um ein vorhandenes nicht generisches IAsyncPolicyanzupassen, verwenden Sie Code wie den folgenden:

policy.AsAsyncPolicy<HttpResponseMessage>()

Die AddTransientHttpErrorPolicy(IHttpClientBuilder, Func<PolicyBuilder<HttpResponseMessage>,IAsyncPolicy<HttpResponseMessage>>) -Methode ist eine benutzerfreundliche Methode, die die Anwendung einer Richtlinie für Anforderungen unterstützt, die aufgrund eines Verbindungsfehlers oder serverfehlers (5XX HTTP status Code) fehlschlagen. Diese Art von Methode unterstützt nur reaktive Richtlinien wie Wiederholung, Circuit-Breaker oder Fallback. Diese Methode wird nur der Einfachheit halber bereitgestellt. Es wird empfohlen, bei Bedarf eigene Richtlinien zu erstellen, wenn dies Ihren Anforderungen nicht entspricht.

Achten Sie bei der gemeinsamen Verwendung von Richtlinien wie Wiederholung oder Timeout darauf, dass HttpClient über Timeoutein eigenes Timeout bereitstellt. Bei der Kombination von Wiederholung und Timeout Timeout fungiert als Timeout für alle Versuche. Eine Polly-Timeoutrichtlinie kann nach einer Wiederholungsrichtlinie in der Konfigurationssequenz konfiguriert werden, um ein Timeout pro Versuch bereitzustellen.

Alle von Polly bereitgestellten Richtlinien sind so konzipiert, dass sie effizient sind, wenn sie auf eine langlebige Weise verwendet werden. Bestimmte Richtlinien wie bulkhead und Circuit-Breaker behalten den Zustand bei und sollten für Aufrufe gelten, für die Sie den Bulkhead- oder Circuit-Breaker-Zustand freigeben möchten. Achten Sie darauf, die richtigen Lebensdauern sicherzustellen, wenn Sie Richtlinien und Nachrichtenhandler in benutzerdefinierten Szenarien zusammen verwenden. Die von bereitgestellten PollyHttpClientBuilderExtensions Erweiterungsmethoden weisen Richtlinien eine lange Lebensdauer zu und stellen sicher, dass sie verwendet werden können, wenn das Handlerrotationsfeature aktiv ist.

Fügt PolicyHttpMessageHandler einen Kontext an den HttpRequestMessage an, bevor ein Policyausgeführt wird, wenn noch keiner vorhanden ist. Wird Context für die Richtlinie zur Verwendung in und Policy in anderen Nachrichtenhandlern bereitgestellt.

Konstruktoren

PolicyHttpMessageHandler(Func<HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>)

Erstellt einen neuen PolicyHttpMessageHandler.

PolicyHttpMessageHandler(IAsyncPolicy<HttpResponseMessage>)

Erstellt einen neuen PolicyHttpMessageHandler.

Eigenschaften

InnerHandler

Ruft den inneren Handler ab, der die HTTP-Antwortnachrichten verarbeitet, oder legt ihn fest.

(Geerbt von DelegatingHandler)

Methoden

Dispose()

Gibt die vom HttpMessageHandler verwendeten, nicht verwalteten Ressourcen frei und verwirft die verwalteten Ressourcen.

(Geerbt von HttpMessageHandler)
Dispose(Boolean)

Gibt die vom DelegatingHandler verwendeten, nicht verwalteten Ressourcen frei und verwirft optional auch die verwalteten Ressourcen.

(Geerbt von DelegatingHandler)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Send(HttpRequestMessage, CancellationToken)

Sendet eine HTTP-Anforderung an den inneren Handler, die an den Server gesendet werden soll.

(Geerbt von DelegatingHandler)
SendAsync(HttpRequestMessage, CancellationToken)

Sendet eine HTTP-Anforderung an den inneren Handler, der als asynchroner Vorgang an den Server gesendet werden soll.

SendCoreAsync(HttpRequestMessage, Context, CancellationToken)

Wird innerhalb der Ausführung von Policy aufgerufen, um die Anforderungsverarbeitung auszuführen.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: