我已通过网址(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
答案 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
实现了回调合同。