例如:我想要 abc.hyd.mycompany.com 之类的东西。我的要求是解析这个名称并初始化适当的服务。
using System.Net;
Dns.GetHostName() // doesn't return fully qualified name it just gives "abc"
例如:我想要 abc.hyd.mycompany.com 之类的东西。我的要求是解析这个名称并初始化适当的服务。
using System.Net;
Dns.GetHostName() // doesn't return fully qualified name it just gives "abc"
您可以像这样获得整个 DNS 字符串:
System.Net.Dns.GetHostEntry("").HostName
在我工作的地方,我们没有完整的 DNS 名称,但它确实给了我一个三级假域名,而不仅仅是主机名。
编辑 2011/03/17:合并以下标记建议的更改。
我使用了这个非常相似的方法:
var serverName = System.Environment.MachineName; //host name sans domain
var fqhn = System.Net.Dns.GetHostEntry(serverName).HostName; //fully qualified hostname
如果上述方法不起作用,您还可以尝试从环境中检索它:
var dnsName = new StringBuilder();
dnsName.Append(Environment.GetEnvironmentVariable("COMPUTERNAME")).Append(".");
dnsName.Append(Environment.GetEnvironmentVariable("USERDNSDOMAIN"));