2013-03-03 36 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