2011-10-14 42 views
1

我有一個WCF服務,它是網狀網絡的一部分。這意味着有10多臺機器展示相同的服務,但所有這些機器也需要連接到其他機器以檢索數據。這意味着應用程序既可以公開該服務,也可以連接到其他機器上的相同服務。作爲服務器和客戶端的WCF服務

目前,我已經在程序中添加了對服務的服務引用,但是由於程序是服務,所以這似乎相當浪費。這意味着我已經基本上爲自己創建了一個服務引用,並且每當我更改某些內容時我都必須更新此引用。

任何方式我可以解決這個問題,並使用該服務,而無需添加服務引用?

問題是沒有服務引用,我沒有用於設置服務的代理類。目前,連接到服務的另一臺機器上,我用這樣的代碼:

var client = new MyServiceClient(binding, otherMachineEndpointAddress); 
//call some methods on client 

如果我可以代替創建服務客戶端的這一部分,連接到服務,並叫我的方法,應用程序將是大大簡化。

任何想法?

回答

1

我試着找了很久的答案,但在發佈這個問題後,我發現如何去做,而且它一直很容易。

我取代在問題中提到的代碼與該

var client = ChannelFactory<IMyService>.CreateChannel(binding, otherMachineEndpointAddress); 
//call some methods on client 

工作作爲一個魅力)