var client = clients.GetOrAdd(
    "proxy-east",
    "https://example.com",
    builder => builder.ConfigureInnerHandler(handler =>
        handler.Proxy = new WebProxy("http://203.0.113.10:8080")));

여기서 clients은 Flurl 4의 IFlurlClientCache입니다. 조회 전에 경로를 선택하고 재사용 가능한 클라이언트에 안정적인 이름을 지정하세요. 허용된 공개 요청의 경우 HTTP 프록시 목록이 내부 핸들러의 WebProxy URL 후보를 제공합니다. proxy-east을 새 프록시 값으로 재사용하는 것은 이미 그곳에 보관된 클라이언트를 요청마다 다시 구성하는 것이 아닙니다.

애플리케이션이 선택한 유형에 맞는 핸들러 API를 사용하세요. Flurl은 SocketsHttpHandler에 대한 다른 구성 경로를 문서화합니다.

선택한 경로를 작업 메타데이터에 유지하고 해당 클라이언트를 통해 호출하세요. 팩터리를 조회할 때마다 임의로 선택하면 하나의 논리적 작업에 일관성 없는 정책이 적용될 수 있습니다.

애플리케이션 범위에 대해 캐시를 소유하고 그 증가를 제한하세요. 변경되는 임시 프록시 목록은 클라이언트와 리소스를 누적할 수 있습니다. 이름/로그에는 포함된 비밀번호 대신 안전한 경로 식별자를 사용하세요.

이 방식은 오래된 사용자 지정 팩터리 인프라를 복사하거나 다른 요청 중에 활성 핸들러를 변경하는 대신 Flurl 4의 명명된 캐시 인터페이스를 사용합니다.

관련 글