我正在尝试获取当前用户的计算机名称。我可以使用System.Net.Dns.GetHostEntry("ComputerName").Address.ToString()
获取IP地址但是当我用 IPAddress 替换* ComputerName *时,我收到以下错误。
不知道此类主机
我通过运行命令在IIS7中启用了反向DNS: Cscript.exe adsutil.vbs设置w3svc / EnableReverseDNS为真 在我服务器上的 C:\ inetpub \ AdminScripts 目录中。
关于我做错的任何想法?
总的目的是这将是一个帮助台应用程序,用户能够轻松提供他们的计算机名称以获得帮助将非常有用。
本地一切正常但发布到服务器后无效。
答案 0 :(得分:2)
你可以试试这个:
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;
}
答案 1 :(得分:2)
以下是如何在不同的机器上获取它。这也将为您提供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);
}
}
答案 2 :(得分:0)
感谢所有回复此帖子。
实际上,代码不是问题。我正在尝试的代码或提出的建议没有任何问题。我发现服务器DNS条目设置不正确。
也许这会帮助别人。