2013-03-03 72 views
1

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

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

+0

你试试这个 http://stackoverflow.com/questions/1091406/how-to-get-list-of-all- wcf-services-running-on-a-machine – 2013-03-03 02:36:07

+0

太旧的问题......它不工作.. – user1034912 2013-03-03 02:44:55

回答

0

有没有自动的方式来做到这一点。多年来一直有各种目录服务协议,但它们从未真正起飞过。整体上获得最大成功的那个被称为Multicast DNS or zeroconf。但是,Windows API并不能很好地支持它。 Apple以Bonjour的名义支持它,Linux以Avahi的名义支持它。

最接近的Windows相当于UPnP SSDP,但是在发现了一些公布的安全漏洞之后,Microsoft放弃了对它的支持。有一种称为PNRP(Peer Name Resolution Protocol,对等名称解析协议)的IPv6粗略等价物,但它在很大程度上已经不再使用。

所以,真的你的选择是找到一个Windows的mDns库或自己写。

3

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

Windows通讯基础(WCF)提供支持,以使服务能够在运行时发现在使用WS-发现协议互操作的方式。 WCF服务可以使用多播消息或发现代理服务器向网络公布其可用性。 客户端应用程序可以搜索网络或发现代理服务器以查找符合一组标准的服务。

如何以编程方式添加到曝光率WCF服务和客户端 - http://msdn.microsoft.com/en-us/library/dd456783.aspx