【发布时间】:2018-04-12 13:53:40
【问题描述】:
我有一个按名称列出的计算机列表。我想看看网络上的计算机是否使用System.Net.Ping 和System.Net.PingReply 连接。计算机列表可能不时变得陈旧。如果找不到主机,我会遇到异常。有没有办法可以在不出现异常的情况下检查是否有主机的记录?我想我也许可以使用Dns.GetHostEntry(c.Name),但如果主机不在 DNS 中,这也会返回异常。
【问题讨论】:
-
为什么不将
GetHostEntry包装在try/catch块中? -
我做了,但我认为可能有一种方法可以在不产生异常的情况下进行检查。
-
除非您重新发明轮子,例如自己构建 UDP 请求,或者从您的代码中调用 nslookup,或者找到一个可以执行 DNS 请求的 Web 服务,否则这一切听起来都不必要地复杂。