ChannelFactory.Endpoint上的Address属性为null。 ChannelFactory的端点必须具有指定的有效地址

时间:2015-06-19 05:04:06

标签: c# asp.net wcf

我已通过网址(http://192.168.2.131:8089/)托管WCF服务。现在,我尝试从Windows窗体调用WCF服务,但我收到此错误:

  

ChannelFactory.Endpoint上的Address属性为null。 ChannelFactory的端点必须具有指定的有效地址。

以下是胜利形式C#代码:

var binding = new WSDualHttpBinding();

var endpoint = new EndpointAddress("http://192.168.2.131:8089/");

InstanceContext context = new InstanceContext(new Form1());

var cFactory = new DuplexChannelFactory<IPubSubService>(context);

IPubSubService client = null;
client = cFactory.CreateChannel();
client.SendNotification();

client = cFactory.CreateChannel();正在抛出错误。

以下是WCF服务和Winforms system.serviceModel的{​​{1}}配置:

app.config

1 个答案:

答案 0 :(得分:1)

尝试使用带有绑定和端点的DuplexChannelFactory(InstanceContext, Binding, EndpointAddress)重载,因此工厂将拥有所需的组件。

更新的代码:

var binding = new WSDualHttpBinding();
var endpoint = new EndpointAddress("http://192.168.2.131:8089/");
InstanceContext context = new InstanceContext(new Form1());
var cFactory = new DuplexChannelFactory<IPubSubService>(context, binding, endpoint);

这会将绑定和端点地址分配给DuplexChannelFactory

还要确保您的Form1实现了回调合同。