PolicyHttpMessageHandler Třída

Definice

Implementace DelegatingHandler , která provádí zpracování požadavků obklopené 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
Dědičnost
PolicyHttpMessageHandler

Poznámky

Tato implementace obslužné rutiny zpráv podporuje použití zásad poskytovaných knihovnou Polly pro zpracování přechodných chyb a odolnost.

Zde uvedená dokumentace je zaměřená na použití Polly společně s IHttpClientFactorynástrojem . Autoritativní informace o Polly najdete v projektu Polly a jeho dokumentaci .

Rozšiřující metody na PollyHttpClientBuilderExtensions jsou navrženy jako pohodlný a správný způsob, jak vytvořit PolicyHttpMessageHandler.

Metoda AddPolicyHandler(IHttpClientBuilder, IAsyncPolicy<HttpResponseMessage>) podporuje vytvoření PolicyHttpMessageHandler pro jakýkoli druh zásady. To zahrnuje neaktivní zásady, jako je vypršení časového limitu nebo mezipaměť, které nevyžadují, aby podkladový požadavek nejprve selhal.

PolicyHttpMessageHandler PollyHttpClientBuilderExtensions a metody pro usnadnění akceptují pouze obecný IAsyncPolicy`1parametr . Instance obecných zásad je možné vytvořit pomocí obecných metod, Policy jako TimeoutAsync``1(System.Int32)je .

Chcete-li upravit existující negenerní IAsyncPolicy, použijte následující kód:

policy.AsAsyncPolicy<HttpResponseMessage>()

Metoda AddTransientHttpErrorPolicy(IHttpClientBuilder, Func<PolicyBuilder<HttpResponseMessage>,IAsyncPolicy<HttpResponseMessage>>) je metoda s názorem na pohodlí, která podporuje použití zásad pro požadavky, které selžou kvůli selhání připojení nebo chybě serveru (stavový kód HTTP 5XX). Tento druh metody podporuje pouze reaktivní zásady, jako jsou opakování, Circuit-Breaker nebo záložní. Tato metoda je poskytována pouze pro pohodlí; pokud to nevyhovuje vašim požadavkům, doporučujeme podle potřeby vytvořit vlastní zásady.

Při společném používání zásad, jako je opakování nebo vypršení časového limitu, dávejte pozor, protože HttpClient poskytuje vlastní časový limit prostřednictvím Timeout. Při kombinování opakování a vypršení časového limitu Timeout bude fungovat jako časový limit napříč všemi pokusy. Zásady časového limitu hlasování je možné nakonfigurovat po zásadách opakování v pořadí konfigurace, aby poskytovaly časový limit pro jednotlivé pokusy.

Všechny zásady poskytované Pollym jsou navržené tak, aby byly efektivní při dlouhodobém používání. Některé zásady, jako je přepážka a Circuit-Breaker udržovat stav a měly by být vymezeny napříč voláními, ve které chcete sdílet přepážku nebo Circuit-Breaker stav. Při společném používání zásad a obslužných rutin zpráv ve vlastních scénářích dbejte na zajištění správné životnosti. Rozšiřující metody poskytované nástrojem PollyHttpClientBuilderExtensions jsou navržené tak, aby přiřadily dlouhou životnost zásadám a zajistily, že je možné je použít, když je aktivní funkce obměně obslužné rutiny.

Pokud PolicyHttpMessageHandler ještě neexistuje, připojí se kontext k objektu HttpRequestMessage před spuštěním Policy. Zásada Context se poskytne pro použití v Policy jiných obslužných rutinách zpráv a.

Konstruktory

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

Vytvoří nový objekt PolicyHttpMessageHandler.

PolicyHttpMessageHandler(IAsyncPolicy<HttpResponseMessage>)

Vytvoří nový objekt PolicyHttpMessageHandler.

Vlastnosti

InnerHandler

Získá nebo nastaví vnitřní obslužnou rutinu, která zpracovává zprávy odpovědi HTTP.

(Zděděno od DelegatingHandler)

Metody

Dispose()

Uvolní nespravované prostředky a odstraní spravované prostředky používané HttpMessageHandlernástrojem .

(Zděděno od HttpMessageHandler)
Dispose(Boolean)

Uvolní nespravované prostředky používané DelegatingHandlernástrojem a volitelně odstraní spravované prostředky.

(Zděděno od DelegatingHandler)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
Send(HttpRequestMessage, CancellationToken)

Odešle požadavek HTTP vnitřní obslužné rutině k odeslání na server.

(Zděděno od DelegatingHandler)
SendAsync(HttpRequestMessage, CancellationToken)

Odešle požadavek HTTP do vnitřní obslužné rutiny, aby se odeslal na server jako asynchronní operace.

SendCoreAsync(HttpRequestMessage, Context, CancellationToken)

Volá se v rámci provádění Policy příkazu k provedení zpracování požadavku.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro