例: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名はありませんが、ホスト名だけでなく、3レベルの偽のドメイン名が表示されます。
編集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"));