2011-05-25 96 views
6

我需要我的服務來使用其他服務,並且我需要在代碼中配置這些依賴關係。我該怎麼做呢?如何以編程方式添加WCF客戶端端點?

這是通過以下(例子)的配置非常簡單:

<client> 
    <endpoint name="registerService" 
      address="http://127.0.0.1/registration/" binding="basicHttpBinding"  
      contract="*"/> 
    </client> 

但由於某些原因查找代碼相當於是不容易,我想那會。

+0

你使用生成的代理( 「添加服務引用...」),或者直接對合同實例? – 2011-05-25 00:59:22

+0

沒有生成代理。我實際上是從RoutingService(新到WCF 4)使用它,我需要通過代碼進行配置。但是這個細節不應該影響太多吧? – 2011-05-25 01:37:41

回答

5

如果您使用Visual Studio生成的代理(通過「添加服務引用...」),那麼您使用的抽象類&您將有許多構造函數,允許您傳入一個配置部分,端點,綁定等

http://msdn.microsoft.com/en-us/library/ms576141.aspx

如果你正在實例化的ChannelFactory,那麼你不得不再次使用了多種構造方法。

http://msdn.microsoft.com/en-us/library/ms576132.aspx

// create bindings & endpoints 
var binding = new System.ServiceModel.BasicHttpBinding(); 
var endpoint = new EndpointAddress("http://localhost/MyService.svc"); 

var factory = new ChannelFactory<IMyService>(binding, endpoint); 

var channel = factory.CreateChannel(); 
// then call your operations... 
channel.MyOperation(); 
+0

感謝您的回答,但這些都無濟於事。我可能需要編輯我的問題更具體 - 我在服務的上下文中運行,而服務又會消耗其他服務。我想以編程方式將這些依賴項添加到WCF基礎結構中。 – 2011-05-25 01:40:32

相關問題