我有一个名字的计算机列表。我想查看网络上的计算机是否使用System.Net.Ping
和System.Net.PingReply
进行连接。计算机列表可能会不时变得陈旧。如果找不到主机,我会得到一个例外。有没有办法我可以检查是否有主机的记录没有经历异常?我以为我可以使用Dns.GetHostEntry(c.Name)
但如果主机不在DNS中,这也会返回异常。
答案 0 :(得分:1)
如果您无法使用try / catch,则可以使用SimpleDNS(Nuget),它只会在连接问题上抛出所选DNS服务器的异常。
"command": "ssh -t user@domain 'wget -qO- some.website | awk -F \"</*TD ALIGN=LEFT>|</*TD>|<*/A>\" \"/<TD ALIGN=LEFT>.*[A-Z]/ {print $12}\" | sed -n 1p'",
如果查询无效,则返回DNS数据包对象将为null:
而不是检查var dnsServer = IPAddress.Parse("8.8.8.8");
var result = Query.Simple(new SimpleDnsPacket(new Question("lalalalalaldasl.com", QType.A), dnsServer)); //Failing Query
,您可以查询在标题中找到的null
属性:
Response