我处于需要开发WCF客户端的情况,该客户端具有不同的EndPoint URI,但其他设置将保持不变。我会从用户那里获得EndPoint URI。
所以我想知道我是否使用ChannelFactory使用WCF服务,那么我是否需要app.config文件,其中包含只有一个端点的WCF客户端配置,并且address属性为空(我会得到用户的输入)或者我是否需要以编程方式使用该服务。
答案 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;
}