如何使用IP地址获取计算机名称
我正在尝试获取当前用户的计算机名称。 我能够使用System.Net.Dns.GetHostEntry("ComputerName").Address.ToString()
获取IP地址System.Net.Dns.GetHostEntry("ComputerName").Address.ToString()
但是当我用IPAddress替换* ComputerName *时,我收到以下错误。
没有这样的主人知道
我通过运行命令在IIS7中启用了反向DNS: Cscript.exe adsutil.vbs在我服务器上的C:\ inetpub \ AdminScripts目录中设置w3svc / EnableReverseDNS TRUE 。
关于我做错的任何想法?
更新
总体目的是这将是一个帮助台应用程序,用户能够轻松提供其计算机名称以获得帮助将非常有用。
本地一切正常,但一旦发布到服务器就不起作用。
以下是如何在不同的机器上获取它。 这也将为您提供IPv4版本。
class getIP { public getIP() { IPAddress ip = Dns.GetHostEntry("whybla01").AddressList.Where(o => o.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).First(); Console.WriteLine(ip); string name = Dns.GetHostEntry(ip).HostName.ToString(); Console.WriteLine(name); } }
你可以试试这个:
string machineName = GetMachineNameFromIPAddress(yourIPAdress); private static string GetMachineNameFromIPAddress(string ipAdress) { string machineName = string.Empty; try { IPHostEntry hostEntry = Dns.GetHostEntry(ipAdress); machineName = hostEntry.HostName; } catch (Exception ex) { // Machine not found... } return machineName; }
感谢所有回复此post。
实际上,代码不是问题。 我正在尝试的代码或提出的建议没有任何问题。 我发现服务器DNS条目设置不正确。
也许这会帮助别人。