14
我有一個可在多個服務器上使用的SOAP Webservice,因此具有多個端點。我想避免添加具有不同名稱的多個服務引用(C#SOAP端口客戶端),以便與此服務交談,因爲API完全相同。使用具有不同端點URI的C#服務參考SOAP客戶端
有沒有辦法在運行時配置端點URI?
我有一個可在多個服務器上使用的SOAP Webservice,因此具有多個端點。我想避免添加具有不同名稱的多個服務引用(C#SOAP端口客戶端),以便與此服務交談,因爲API完全相同。使用具有不同端點URI的C#服務參考SOAP客戶端
有沒有辦法在運行時配置端點URI?
我也很難找到這一個。我最後只是借來的配置結合,並這樣做:
private static wsXXXX.IwsXXXXClient wsXXXXClientByServer(string sServer)
{
// strangely, these two are equivalent
WSHttpBinding binding = new WSHttpBinding("WSHttpBinding_IwsXXXX");
// WSHttpBinding binding = new WSHttpBinding(SecurityMode.Message, false);
EndpointAddress remoteAddress = new EndpointAddress(new Uri(string.Format("http://{0}:8732/wsXXXX/", sServer)), new UpnEndpointIdentity("[email protected]"));
return new wsXXXX.IwsXXXXClient(binding, remoteAddress);
}
我用偉大的工程如下:
ServiceReference1.wsSoapClient ws= new ServiceReference1.wsSoapClient();
ws.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://xxx/myservice.asmx");
我碰到下面的錯誤,當我嘗試這與不同的端點:「無法識別的消息版本「。你知道爲什麼嗎? – Preexo 2013-04-04 09:30:10
另外一個問題,我應該**(A)**創建'wsSoapClient()'的類實例並在每次調用WebMethod或**(B)時使用它**使用'using'語句按需實例化並儘快釋放它? – dialex 2016-02-24 17:54:36