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

如何以编程方式添加WCF客户端端点?,wcf,Wcf,我需要我的服务来使用其他服务,并且我需要在代码中配置这些依赖项。我该怎么做 通过以下示例,这在配置中非常简单: 但是由于某些原因,找到代码等价物并不像我想象的那么容易。如果您使用的是Visual Studio生成的代理(通过“添加服务引用…”),那么您使用的是ClientBase抽象类&您将拥有大量构造函数,允许您传入配置部分、端点、,装订等 如果您正在实例化一个ChannelFactory,那么您又可以使用许多构造函数 //创建绑定和端点 var binding=new System.

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

通过以下示例,这在配置中非常简单:



但是由于某些原因,找到代码等价物并不像我想象的那么容易。

如果您使用的是Visual Studio生成的代理(通过“添加服务引用…”),那么您使用的是
ClientBase
抽象类&您将拥有大量构造函数,允许您传入配置部分、端点、,装订等

如果您正在实例化一个ChannelFactory,那么您又可以使用许多构造函数

//创建绑定和端点
var binding=new System.ServiceModel.BasicHttpBinding();
var endpoint=新的端点地址(“http://localhost/MyService.svc");
var factory=新的ChannelFactory(绑定,端点);
var channel=factory.CreateChannel();
//然后给你的行动打电话。。。
channel.MyOperation();

您是使用生成的代理(“添加服务引用…”),还是直接针对合同进行实例化?没有生成的代理。我实际上是从RoutingService(WCF 4的新版本)使用它,我需要通过代码配置它。但是这个细节不应该影响太大,对吧?谢谢你的回答,但这两个都没有帮助。我可能需要对我的问题进行编辑,使其更加具体——我是在一个服务的上下文中操作的,而该服务反过来又使用其他服务。我想以编程方式将这些依赖项添加到WCF基础结构中。
   <client>
  <endpoint name="registerService"
            address="http://127.0.0.1/registration/" binding="basicHttpBinding"    
            contract="*"/>
  </client>
// 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();