不同端点URI的WCF客户端配置

时间:2014-04-01 11:49:34

标签: c# web-services wcf wcf-endpoint

我处于需要开发WCF客户端的情况,该客户端具有不同的EndPoint URI,但其他设置将保持不变。我会从用户那里获得EndPoint URI。

所以我想知道我是否使用ChannelFactory使用WCF服务,那么我是否需要app.config文件,其中包含只有一个端点的WCF客户端配置,并且address属性为空(我会得到用户的输入)或者我是否需要以编程方式使用该服务。

1 个答案:

答案 0 :(得分:1)

在配置文件中将端点留空。在您的代码中添加一个类似下面的方法,该方法将endpointAddress作为可以来自用户的参数。使用此方法创建最终用于创建代理的channelfactory

private ChannelFactory<IService1> GetChannelFactory(string endpointAddress)
{    
    // create a binding that will be common
    BasicHttpBinding myBinding = new BasicHttpBinding();
    //get your uri from the user
    EndpointAddress myEndpoint = new EndpointAddress(endpointAddress);
    ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint);
    return myChannelFactory;   
}