다음을 통해 공유


PollyHttpClientBuilderExtensions.AddTransientHttpErrorPolicy 메서드

정의

제공된 구성 대리자를 실행하여 만든 Policy에 따라 요청 실행을 감싸는 PolicyHttpMessageHandler를 추가합니다. 정책 작성기는 일시적인 오류를 나타내는 조건으로 인해 실패한 요청에 대해 정책 애플리케이션을 트리거하도록 미리 구성되어 있습니다.

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ AddTransientHttpErrorPolicy(Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ builder, Func<Polly::PolicyBuilder<System::Net::Http::HttpResponseMessage ^> ^, Polly::IAsyncPolicy<System::Net::Http::HttpResponseMessage ^> ^> ^ configurePolicy);
public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder AddTransientHttpErrorPolicy (this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, Func<Polly.PolicyBuilder<System.Net.Http.HttpResponseMessage>,Polly.IAsyncPolicy<System.Net.Http.HttpResponseMessage>> configurePolicy);
static member AddTransientHttpErrorPolicy : Microsoft.Extensions.DependencyInjection.IHttpClientBuilder * Func<Polly.PolicyBuilder<System.Net.Http.HttpResponseMessage>, Polly.IAsyncPolicy<System.Net.Http.HttpResponseMessage>> -> Microsoft.Extensions.DependencyInjection.IHttpClientBuilder
<Extension()>
Public Function AddTransientHttpErrorPolicy (builder As IHttpClientBuilder, configurePolicy As Func(Of PolicyBuilder(Of HttpResponseMessage), IAsyncPolicy(Of HttpResponseMessage))) As IHttpClientBuilder

매개 변수

configurePolicy
Func<PolicyBuilder<HttpResponseMessage>,IAsyncPolicy<HttpResponseMessage>>

IAsyncPolicy`1을 만드는 데 사용되는 대리자입니다.

반환

클라이언트를 구성하는 데 사용할 수 있는 IHttpClientBuilder입니다.

설명

정책 구성에 대한 지침은 에 PolicyHttpMessageHandler 대한 설명을 참조하세요.

PolicyBuilder`1 에 제공된 configurePolicy 는 다음 범주의 오류를 처리하도록 미리 구성된 오류입니다.

  • 네트워크 오류(로 HttpRequestException)
  • HTTP 5XX 상태 코드(서버 오류)
  • HTTP 408 상태 코드(요청 시간 제한)

에서 configurePolicy 만든 정책은 명명된 클라이언트당 무기한 캐시됩니다. 정책은 일반적으로 싱글톤 역할을 하도록 설계되었으며 적절한 경우 공유할 수 있습니다. 여러 명명된 클라이언트에서 정책을 공유하려면 먼저 정책을 만든 다음 원하는 대로 에 여러 호출에 AddPolicyHandler(IHttpClientBuilder, IAsyncPolicy<HttpResponseMessage>) 전달합니다.

적용 대상