如何获得完整的主机名

How to get full host name

Enviroment.MachineName returns 简称:

public static string GetCurrentMachineName()
{
    return GetMachineName(Environment.MachineName); //returns hostname
}

我有短主机名:shortName 和全名:shortName.company.local。 所以,当我调用 GetCurrentMachineName() 时,我只得到 shortName 而不是 'shortName.company.local'。 有什么问题吗?

P.S.:
它对我不起作用:例如,我的主机名是 hostname1。 我在当前网络的朋友的主机名为 hostname2。所以,当我执行这段代码时:

return System.Net.Dns.GetHostEntry("").HostName;

对于主机名 2,它解析为 hostname2.company.localhostname1 为我的主机名。

使用此 Dns.GetHostEntry("").HostName 获取完整的主机名

public static string GetCurrentMachineName()
    {
        return System.Net.Dns.GetHostEntry("").HostName; //returns hostname
    }

我解决了,我的问题:

  1. 刷新 DNS 缓存

    ipconfig /flushdns

  2. 清除我的 hosts 文件。

感谢您的帮助!