【问题标题】:How to get full host name如何获取完整的主机名
【发布时间】:2016-10-10 08:29:32
【问题描述】:

Enviroment.MachineName 返回短名称:

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

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

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

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

使用 hostname2 它解析为 hostname2.company.localhostname1 解析为我的主机名。

【问题讨论】:

标签: c# netbios


【解决方案1】:

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

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

【讨论】:

  • 这对我不起作用:例如,我的主机名是 hostname1。我在当前网络的朋友有一个名为 hostmane2 的主机名。因此,当我使用 hostname2 执行您的代码时,它会解析为 hostname.company.localhostname1
【解决方案2】:

我解决了,我的问题:

  1. 刷新 DNS 缓存

    ipconfig /flushdns

  2. 清除我的hosts 文件。

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 2016-09-02
    • 2011-05-13
    • 1970-01-01
    • 2017-01-06
    • 2013-01-17
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多