自主机WCF添加服务引用

本文关键字:服务 引用 添加 WCF 主机 | 更新日期: 2023-09-27 18:17:03

所以我创建了winforms客户端,并将wcf类库添加到解决方案中。

在winforms中

ServiceHost svc = new ServiceHost(typeof(...), new Uri("net.pipe://localhost/MyNamedPipe")

,然后是执行良好的svc.Open()

现在,我如何添加一个服务引用,以便在相同的winforms中我可以获得代理的wcf?

我只能通过使用ASP生成它。. NET开发服务器在winforms运行时启动,因此我复制了该url,停止调试(开发服务器仍在运行),然后从那里添加了一个服务引用。但我想那是不对的。

当然我可以直接引用wcf契约类并使用它,但这也是不合适的

自主机WCF添加服务引用

当您像这样控制两端时,我更喜欢使用ChannelFactory:

NetNamedPipeBinding binding = new NetNamedPipeBinding();
EndpointAddress address = new EndpointAddress("net.pipe://localhost/MyNamedPipe");
ChannelFactory<YourInterface> factory = new ChannelFactory<YourInterface>(binding, address);
YourInterface yourInterface = factory.CreateChannel();

是否尝试添加服务引用…到项目,然后直接在对话框的Address框中输入您的URI ?

注意,这应该是完整的URI,如net.pipe://localhost/MyNamedPipe。