.NET IHttpClientFactory: 명명된 클라이언트의 프록시 구성
IHttpClientFactory 명명된 클라이언트의 기본 처리기에 프록시를 연결하고 호출 사이트에서 동일한 이름을 검색합니다.
하나의 명명된 HttpClient에 대해 구성된 프록시가 IHttpClientFactory에서 반환하는 모든 클라이언트를 자동으로 구성하지는 않습니다. 등록 이름과 요청 이름을 함께 유지하세요.
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});그런 다음 해당 명명된 구성을 검색합니다.
var client = factory.CreateClient("via-proxy");엔드포인트는 예시입니다. 허용된 공용 서비스 요청의 경우 HTTP 프록시 목록이 명명된 클라이언트의 WebProxy URL에 대한 후보를 제공합니다. 기본 이름 없는 클라이언트를 다른 곳에서 만드는 것은 다른 조회이며, 두 클라이언트가 동일한 주입된 팩터리에서 제공되더라도 마찬가지입니다.
프록시 동작은 대상 요청 헤더로 취급하지 말고 기본 처리기에서 연결 수준으로 구성하세요. 팩터리는 반환하는 HttpClient 개체와 별도로 처리기 수명을 관리할 수 있습니다.
형식화된 클라이언트나 다른 SDK가 호출을 소유하는 경우 어떤 등록이 해당 HttpClient를 제공하는지 확인하세요. 올바르게 구성되었지만 전혀 사용되지 않는 명명된 클라이언트는 해당 SDK의 네트워크 경로에 영향을 주지 않습니다.
안정적인 라우팅 정책을 위해 이 구성을 사용하세요. 작업 사이에 활성 처리기를 변경하는 것은 별도의 동시성 및 수명 문제로 남습니다.