.NET 6+의 ServiceStack HttpUtils 프록시 설정
.NET 6+ 공유 클라이언트의 프록시는 초기화 시점에 구성하세요. 나중에 팩터리를 바꿔도 기존 클라이언트는 대체되지 않습니다.
ServiceStack의 .NET 6+ 빌드에서 HTTP Utils는 지연 생성되는 공유 HttpClient을 만듭니다. 애플리케이션 초기화 시, 첫 헬퍼 호출 전에 해당 핸들러 팩터리를 설정하세요:
ServiceStack.HttpUtils.HttpClientHandlerFactory = () =>
new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy("http://proxy.example:8080"),
AutomaticDecompression =
System.Net.DecompressionMethods.Brotli |
System.Net.DecompressionMethods.Deflate |
System.Net.DecompressionMethods.GZip
};공유 클라이언트가 이미 있으면 이 팩터리를 바꿔도 다시 구성되지 않습니다. 이후 할당이 효과가 없어 보일 때 가장 먼저 확인할 지점이 바로 이 시점입니다. HTTP 프록시 목록에서 HTTP 엔드포인트를 공개 경로용으로 선택할 수 있으며, 이는 해당 공유 클라이언트가 생성되기 전에 해야 합니다.
프록시 계정의 경우 애플리케이션 구성으로 WebProxy.Credentials을 설정하세요. HttpClientHandler.UseDefaultCredentials은 서버 계정과 관련되며 해당 프록시 개체의 자격 증명을 자동으로 채우지 않습니다.
더 오래된 HttpWebRequest 및 requestFilter 예제는 이전 구현을 대상으로 합니다. 최신 형태에서는 요청 구성이 요청 필드를 담당하고 핸들러가 연결 라우팅을 맡습니다.
이미 설치된 사용자 지정 클라이언트 팩터리나 애플리케이션의 HTTP 클라이언트 팩터리 소유 체계는 그대로 유지하세요. 이 핸들러 팩터리는 공유 정책입니다. 동시에 동작하는 무관한 경로는 별도로 소유된 클라이언트가 필요합니다.