대기업 대상으로 프로그램 개발(SI)을 하고 있는데 예전에는 프로그램 기능에 대해서만 검수를 했었는데 요즘은 프로그램 보안에 대한 요구도 추가로 하고 있습니다. 이와 같이 보안이 강화됨에 따라 기존에 HTTP 프로토콜로 접속 가능하던 사이트들도 HTTPS로 바꾸고 있습니다. 따라서 웹 서비스에 접속하는 클라이언트도 HTTP, HTTPS 둘 다 지원해야 합니다. 아래 코드는 설정에서 접속할 URL을 읽어와 EndpointAddress를 생성합니다. BaseAddress = CommonLib.Common.GetConfigString("BaseClientAddress", "URL", ""); EndPoint = new EndpointAddress(string.Format("{0}/Service.svc", BaseAddress)); EndPoint Scheme으로 접속해야 할 프로토콜을 확인할 수 있습니다. 접속 프로토콜에 따라 바인딩을 생성하면 됩니다. 아래는 CustomBinding 예제 클래스입니다. public class CustomHttpBinding : CustomBinding { private readonly bool useHttps; private readonly bool useBinaryEncoding; private readonly bool useCompression; private readonly HttpTransportBindingElement transport; public CustomHttpBinding(bool useHttps, bool binaryEncoding = true, bool compressMessages = false) { this.useHttps = useHttps; transport = useHttps ? new HttpsTransport...