2011-05-25 140 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

相关问题