如何以编程方式添加WCF客户端端点?

时间:2011-05-25 00:09:44

标签: wcf

我需要我的服务来使用其他服务,我需要在代码中配置这些依赖项。我该怎么做呢?

通过以下(示例)在配置中非常简单:

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

但由于某种原因,找到相同的代码并不像我想象的那么容易。

1 个答案:

答案 0 :(得分:6)

如果您正在使用Visual Studio生成的代理(通过“添加服务引用...”),那么您正在使用ClientBase抽象类&amp;你将拥有许多允许你传入配置部分,端点,绑定等的构造函数。

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();