PolicyHttpMessageHandler 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Policy로 둘러싸인 요청 처리를 실행하는 DelegatingHandler 구현입니다.
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
- 상속
설명
이 메시지 처리기 구현은 일시적인 오류 처리 및 복원력을 위해 Polly 라이브러리에서 제공하는 정책 사용을 지원합니다.
여기에 제공된 설명서는 와 함께 IHttpClientFactoryPolly를 사용하기 위한 집중 지침입니다. Polly에 대한 신뢰할 수 있는 정보는 Polly 프로젝트 및 해당 설명서를 참조하세요.
의 PollyHttpClientBuilderExtensions 확장 메서드는 를 만드는 PolicyHttpMessageHandler편리하고 올바른 방법으로 설계되었습니다.
메서드는 AddPolicyHandler(IHttpClientBuilder, IAsyncPolicy<HttpResponseMessage>) 모든 종류의 정책에 대한 의 PolicyHttpMessageHandler 생성을 지원합니다. 여기에는 기본 요청이 먼저 실패할 필요가 없는 시간 제한 또는 캐시와 같은 비 반응형 정책이 포함됩니다.
PolicyHttpMessageHandler그리고 PollyHttpClientBuilderExtensions 편의 메서드는 제네릭을 허용 합니다 IAsyncPolicy`1 . 와 같은 TimeoutAsync``1(System.Int32)의 제네릭 메서드를 사용하여 제네릭 정책 인스턴스를 Policy 만들 수 있습니다.
기존의 제네릭 IAsyncPolicy이 아닌 를 조정하려면 다음과 같은 코드를 사용합니다.
policy.AsAsyncPolicy<HttpResponseMessage>()
메서드는 AddTransientHttpErrorPolicy(IHttpClientBuilder, Func<PolicyBuilder<HttpResponseMessage>,IAsyncPolicy<HttpResponseMessage>>) 연결 오류 또는 서버 오류(5XX HTTP 상태 코드)로 인해 실패하는 요청에 대한 정책 적용을 지원하는 설명된 편의 메서드입니다. 이러한 종류의 메서드는 재시도, Circuit-Breaker 또는 대체와 같은 사후 정책만 지원합니다. 이 메서드는 편의를 위해서만 제공됩니다. 요구 사항을 충족하지 않는 경우 필요에 따라 고유한 정책을 만드는 것이 좋습니다.
HttpClient는 를 통해 Timeout자체 시간 제한을 제공하므로 재시도 또는 시간 제한과 같은 정책을 함께 사용할 때는 주의해야 합니다. 다시 시도와 시간 제한을 Timeout 결합하는 경우 는 모든 시도에서 시간 제한으로 작동합니다. Polly 시간 제한 정책은 구성 시퀀스의 재시도 정책 후에 구성하여 시도당 시간 제한을 제공할 수 있습니다.
Polly에서 제공하는 모든 정책은 수명이 긴 방식으로 사용할 때 효율적이도록 설계되었습니다. 격벽 및 Circuit-Breaker 같은 특정 정책은 상태를 유지 관리하며 격벽 또는 Circuit-Breaker 상태를 공유하려는 호출 간에 범위가 지정되어야 합니다. 사용자 지정 시나리오에서 정책 및 메시지 처리기를 함께 사용할 때 올바른 수명을 보장합니다. 에서 제공하는 PollyHttpClientBuilderExtensions 확장 메서드는 정책에 긴 수명을 할당하고 처리기 회전 기능이 활성 상태일 때 사용할 수 있도록 설계되었습니다.
는 PolicyHttpMessageHandler 를 실행하기 전에 컨텍스트 HttpRequestMessage 를 Policy에 연결합니다(아직 없는 경우). 는 Context 및 내부 Policy 및 다른 메시지 처리기에서 사용하기 위해 정책에 제공됩니다.
생성자
속성
InnerHandler |
HTTP 응답 메시지를 처리하는 내부 처리기를 가져오거나 설정합니다. (다음에서 상속됨 DelegatingHandler) |
메서드
Dispose() |
관리되지 않는 리소스를 해제하고, HttpMessageHandler에서 사용하는 관리되는 리소스를 삭제합니다. (다음에서 상속됨 HttpMessageHandler) |
Dispose(Boolean) |
DelegatingHandler에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 삭제할 수 있습니다. (다음에서 상속됨 DelegatingHandler) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
Send(HttpRequestMessage, CancellationToken) |
서버로 보낼 내부 처리기에 대한 HTTP 요청을 보냅니다. (다음에서 상속됨 DelegatingHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
비동기 작업으로 서버에 전송할 내부 처리기에 대한 HTTP 요청을 보냅니다. |
SendCoreAsync(HttpRequestMessage, Context, CancellationToken) |
요청 처리를 수행하기 위해 Policy 실행 내에서 호출됩니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
.NET