繁体   English   中英

如何浏览主机上的所有WCF服务?

[英]How can I browse all WCF services on a host?

我想使用WCF创建客户端和服务器程序。 它们之间的通信将是TCP。 客户端将是Windows窗体,可以在其中插入主机名,然后列出该计算机上运行的所有服务器。

有没有办法做到这一点? 即浏览机器主机中的所有WCF服务?

WCF发现-http: //msdn.microsoft.com/en-us/library/dd456782.aspx

Windows Communication Foundation(WCF)支持使用WS-Discovery协议以互操作方式在运行时发现服务。 WCF服务可以使用多播消息或发现代理服务器向网络声明其可用性。 客户端应用程序可以搜索网络或发现代理服务器以查找符合一组条件的服务。

如何:以编程方式向WCF服务和客户端添加可发现性-http: //msdn.microsoft.com/zh-cn/library/dd456783.aspx

没有自动的方法可以做到这一点。 这些年来,已经出现了各种目录服务协议,但是它们从未真正起步。 总体上最成功的一个称为多播DNS或zeroconf 但是Windows API不太支持它。 Apple以Bonjour的名称支持它,而Linux以Avahi的名称支持它。

Windows上最接近的等效软件是UPnP SSDP,但是在发现了一些广为人知的安全漏洞之后,Microsoft基本上放弃了对该软件的支持。 有一个称为PNRP(对等名称解析协议)的IPv6粗略等价物,但这在很大程度上已经不再使用。

因此,实际上您的选择是找到Windows的mDns库或编写自己的库。

暂无
暂无

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

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