2009-11-03 42 views
1

我在內部網絡上的多臺計算機上部署了wcf服務。用戶可以通過SSL(安全連接客戶端網絡)連接其機器,從而通過互聯網訪問本機。如何確保機器名稱有效且正在運行?

用戶有一個客戶端應用程序來使用在客戶端網絡上的多臺機器上部署的Web服務。

我從客戶拿到機器名和動態創建的URL中,如下所示客戶端應用程序來創建Web服務的客戶端:

https://開頭不同machine_name //test/testservice.svc

什麼是最好的方法來檢查客戶端試圖連接的機器是否有效並運行(up)?

有可能是多張condting當超時喜歡的事業之一之間的網絡延遲到期..

回答

0

你可以嘗試打開您所呼叫的端口上運行Telnet。如果超時 - - 存在問題。 如果你想在更多的階段做到這一點 1.運行NSLOOKUP(查看IP名稱是否正確定義) 2.運行ping(查看機器是否活着 - 如果沒有防火牆阻止它) 3.運行telnet到偵聽端口。

我該怎麼做 - 我總是在WCF服務上發佈一個測試方法 - 它不會做任何事情,但會返回true - 所以我可以快速檢查服務。

0

我建議使用這三個命令:

# check we can resolve the host name 
host machine_name 

# net cat, to check if the port is open 
nc -vz machine_name 443 

# curl to see if the service is responding at the given URL 
curl -I https://machine_name//test/testservice.svc 

上述命令可以從Cygwin的/ Unix外殼中運行。要在.NET項目中執行相同的操作,可以下載libcurl-net。 curl命令/庫調用將執行完整的檢查,如果失敗,它應該能夠告訴你大概問題在哪裏。

+0

我可以通過代碼運行這些命令嗎? – 2009-11-03 06:34:45

相關問題