전송은 풀 관리자를 만들 때 선택한 프록시 자격 증명 공급자 개체를 유지할 수 있습니다. 그 뒤에 WebProxy.Credentials을(를) 바꾸는 것은 신뢰할 수 있는 계정 전환이 아닙니다.

클라이언트를 사용하기 전에 경로와 계정을 함께 만드세요:

var proxy = new System.Net.WebProxy(proxyEndpoint)
{
    Credentials = new System.Net.NetworkCredential(proxyUser, proxyPassword)
};
var handler = new System.Net.Http.HttpClientHandler
{
    UseProxy = true,
    Proxy = proxy
};
var client = new System.Net.Http.HttpClient(handler);

엔드포인트와 자격 증명은 애플리케이션 구성에서 가져옵니다. 두 번째 ID에는 다른 처리기를 만드세요. 첫 번째 처리기를 공유하는 또 다른 HttpClient은 그 정책도 공유합니다.

사용자 지정 ICredentials 공급자는 나중 챌린지에 응답할 수 있지만, 이미 설정된 터널을 다른 계정으로 다시 표시할 수는 없습니다. 비동기 호출 주변에서 하나의 전역 사용자 이름/암호를 할당하면 챌린지 시점과 계정 소유권이 충돌합니다.

재사용이 필요할 때는 클라이언트를 제한된 수로 유지하세요. 전송을 폐기하기 전에 이전 작업을 비우세요. 요청마다 새 처리기를 만들면 연결 풀이 낭비되고, 모든 과거 계정을 영원히 유지하면 한도 없이 늘어납니다.

관련 글