2016-12-22 69 views
-1

現在,我在一臺機器上安裝了WCF Web服務,該服務連接到另一臺執行所有數據處理的機器上的WCF Windows服務。 Web服務直接引用Windows服務,並且所有配置信息都在web和app.config文件中設置。我可以以編程方式連接到我的Web服務中的其他WCF端點嗎?

爲了使其具有可擴展性,我希望Web服務能夠在不同的機器上連接到多個WCF窗口服務。例如,客戶端1到3將在一個Windows服務/機器上處理他們的所有數據處理,而客戶端4到6將在獨立的Windows服務/機器上擁有他們的數據處理。

我在考慮像這樣實現它;有一個SQL數據庫將WCF端點存儲到clientID,Web服務接受clientID並獲取WCF端點,然後Web服務使用該WCF端點連接到特定的Windows服務。

這是可行的,還是有更好的方法來處理這個?我沒有太多的WCF經驗,所以我可能在這裏錯了。

感謝。

+0

這是可行的。您可以在創建客戶端時指定Web服務的URL(端點)。 – Tim

回答

1

WCF支持管理客戶端配置(通過配置文件)和編程客戶端配置。你需要第二個。

下面是例子程序配置:

Binding wsBinding = new WSHttpBinding(); 
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:8000/SomeService"); 
SomeServiceClient proxy = new SomeServiceClient(wsBinding, endpointAddress); 

proxy.SomeMethod(); 

proxy.Close(); 

隨着程序配置通過BindingEndpointAddress類,你可以達到同樣的靈活性與配置文件。

如需進一步幫助,請參閱:

Binding Class

EndpointAddress Class

ClientBase Class

+0

感謝您的回覆,我會查看這些鏈接 – cjw

相關問題