繁体   English   中英

自托管wcf添加服务引用

[英]self host wcf add service reference

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

在winforms我做

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

然后svc.Open()执行正常。

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

我只能通过使用在Winforms运行时启动的ASP.NET Development Server来生成它,因此我复制了该url,停止了调试(Development Server仍在运行),然后从那里添加了一个服务引用。 但我猜这不正确。

当然我可以直接引用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();

您是否尝试将“服务引用...”添加到项目中,然后直接在对话框的“地址”框中输入您的URI?

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

您可以在此处找到MSDN的分步说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM