如何在C#中找到我的机器的完全限定主机名?

use*_*246 30 c# environment-variables

例如:我想要像abc.hyd.mycompany.com这样的东西.我的要求是解析此名称并初始化适当的服务.

using System.Net;

Dns.GetHostName() // doesn't return fully qualified name it just gives "abc" 
Run Code Online (Sandbox Code Playgroud)

Pow*_*ord 47

您可以像这样获取整个DNS字符串:

System.Net.Dns.GetHostEntry("").HostName
Run Code Online (Sandbox Code Playgroud)

我工作时没有完整的DNS名称,但它确实给了我一个三级虚假域名,而不仅仅是主机名.

编辑2011/03/17:通过以下标记建议的合并更改.


小智 12

我使用了这个非常类似的方法:

var serverName = System.Environment.MachineName; //host name sans domain
var fqhn = System.Net.Dns.GetHostEntry(serverName).HostName; //fully qualified hostname
Run Code Online (Sandbox Code Playgroud)