例 : 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 名はありませんが、ホスト名だけでなく、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"));