わかりました、私は解決策を見つけました。Visual Studio がサービスのラッパー クラスを生成するとき、 に[ServiceName]SoapClient
はバインディングとエンドポイントをパラメーターとして受け取るコンストラクターがあります。これらを定義して、コンストラクターに渡すだけです。
これは疑似例です。
void InitializeMyWebService(bool useSSLSite)
{
BasicHttpBinding b = useSSLSite ?
new BasicHttpBinding(BasicHttpSecurityMode.Transport) :
new BasicHttpBinding();
EndpointAddress e = useSSLSite ?
new EndpointAddress("https://www.example.com/svc/MyWebService.asmx") :
new EndpointAddress("http://intranet_server/svc/MyWebService.asmx");
myWebService = new MyWebServiceSoapClient(b, e);
}
}
MyWebService
userSSLSite
メソッドへのパラメーターで定義されているように、機能するようになりました。