我处于这样一种情况,我需要开发一个 WCF 客户端,该客户端将具有不同的端点 URI,但其他设置将保持不变。我将从用户那里获取端点 URI。
所以我想知道如果我使用 ChannelFactory 使用 WCF 服务,那么我是否需要一个 app.config 文件,该文件将包含只有一个端点的 WCF 客户端配置并且地址属性为空(我会从用户那里获取输入)还是我需要以编程方式使用服务。
最佳答案
在配置文件中将端点留空。在您的代码中添加一个如下所示的方法,该方法将 endpointAddress 作为可以来自用户的参数。使用此方法创建您最终将用于创建代理的 channel 工厂
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;
}
关于c# - 不同终结点 URI 的 WCF 客户端配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22785011/