为什么dns.gethotentry()方法将地址列表返回为空?

时间:2015-07-28 12:36:51

标签: c# dns

我使用以下代码获取IP地址:

var ip =  Dns.GetHostEntry(host);                     
var ipaddress = ip.AddressList.FirstOrDefault(x => x.AddressFamily == AddressFamily.InterNetwork).ToString();

我可以从命令提示符处ping此主机名。

但是当我使用GethostEntry()时,它会正确返回主机名。

AddressList为空。

而且它也不起作用,而我正在给当地的机器ipaddress 为什么会这样?

1 个答案:

答案 0 :(得分:0)

尝试使用此代码:

PHostEntry host;
 string localIP = "";
host = Dns.GetHostEntry(Dns.GetHostName());
  foreach (IPAddress ip in host.AddressList)
{
 if (ip.AddressFamily == AddressFamily.InterNetwork)
 {
    localIP = ip.ToString();
   }
}
 return localIP;