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

本文关键字:WCF 服务 主机 何浏览 浏览 | 更新日期: 2023-09-27 18:01:59

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

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

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

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

Windows Communication Foundation (WCF)提供支持,使服务能够在运行时使用WS-Discovery协议以可互操作的方式被发现。WCF服务可以使用多播消息或发现代理服务器向网络宣布它们的可用性。客户端应用程序可以搜索网络或发现代理服务器来查找满足一组标准的服务。

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

没有自动执行此操作的方法。多年来,有各种各样的目录服务协议,但它们从未真正起飞。其中最成功的是多播DNS或zeroconf。但是Windows api并不是很支持它。Apple支持Bonjour, Linux支持Avahi。

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

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