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