2011-08-28 78 views
2

我需要實現一個系統,該系統能夠在使用相同WSDL部署的不同應用程序上有條件地使用Web服務。例如,如果系統B,C,D和E託管所有基於相同WSDL的Web服務WS1,WS2,WS3和WS4,從而暴露相同的Web方法,則我的系統A將需要消費以下之一:這4個Web服務基於從下游組件(例如數據庫)檢索到的條件。系統B,C,D和E可以用任何技術(Java,.NET等)來實現,但我的系統A基於.NET。.NET中的動態Web服務代理?

因此,基於此係統上的此WSDL的代理類需要動態更改Web服務代理中的URI。那麼,在我使用所需的Web服務之前,如何動態更改端點?

回答

2

由「添加服務引用」或svcutil.exe生成的代理類有幾個接受遠程地址的構造函數。使用其中之一。見WCF Client Overview

例如:

EndpointAddress addr = new EndpointAddress(uri); 
var client = new MyServiceClient(bindingConfigurationName, addr); 
0

你的意思是改變這樣的網址?

net.webservicex.www.LondonGoldAndSilverFix Proxy = new net.webservicex.www.LondonGoldAndSilverFix(); 

Proxy.Url = "http://www.webservicex.net/LondonGoldFix.asmx"; 
+0

差不多了,史蒂夫,他使用WCF -1。 –