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

本文关键字:WCF 客户端 配置 URI 结点 | 更新日期: 2023-09-27 17:55:41

我的情况是,我需要开发一个WCF客户端,该客户端将具有不同的端点URI,但其他设置将保持不变。我会从用户那里获取端点 URI。

所以我想知道我是否使用 ChannelFactory 使用 WCF 服务,那么我是否需要有 app.config 文件,该文件将包含只有一个终结点的 WCF 客户端配置,并且地址属性将为空(我将作为用户输入获得)还是我需要以编程方式使用服务。

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

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

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;   
}