.NET Framework의 HttpWebClientProtocol을 기반으로 하는 ASMX 클라이언트에서는 첫 네트워크 작업 전에 공용 Proxy을 구성합니다.

var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
    Credentials = proxyAccount
};

ReportsService은 생성된 클래스이고 proxyAccount은 배포에서 옵니다. SOAP 서비스 자격 증명은 별개입니다. 이 대입은 생성된 각 작업 내부에서 반복할 필요가 없습니다.

변경이 기본 요청 옵션이나 계측에 관한 것이라면 레거시 기본 클래스의 재정의 가능한 GetWebRequest(Uri)을 사용하십시오. 생성된 클래스가 partial이면 일치하는 partial 선언을 별도로 컴파일되는 파일에 두십시오. 그렇지 않으면 적절한 파생 클라이언트가 재정의를 제공할 수 있습니다. 기본 구현을 호출하고 일반적인 요청 생성을 유지하십시오.

이 배치는 웹 참조를 업데이트해도 유지됩니다. 다시 생성하면 Reference.cs의 수동 편집을 대체할 수 있지만 별도로 유지 관리되는 확장은 재현 가능하게 남습니다.

실제로 필요한 요청 동작만 변경하십시오. KeepAlive 해결 방법을 복사하면 연결 재사용과 연결 상태에 의존하는 인증에 영향을 줄 수 있습니다.

이것은 ASMX/.NET Framework 모델입니다. WCF와 다른 SOAP 스택에는 자체 전송 인터페이스가 있습니다. 사용자 지정 확장을 도입하기 전에 지원되는 클라이언트 설정을 선택하십시오.

관련 글