2016-10-10 6 views
2

Enviroment.MachineName возвращает короткое имя:Как получить полное имя хоста

public static string GetCurrentMachineName() 
{ 
    return GetMachineName(Environment.MachineName); //returns hostname 
} 

У меня короткие имя хоста: shortName и FULLNAME: shortName.company.local. Итак, когда я звоню GetCurrentMachineName(), я получаю только shortName вместо 'shortName.company.local'. Что может быть неправильным?

P.S .:
Это не работает для меня: например, мое имя является hostname1. И мой друг в текущей сети имеет имя хоста по имени hostname2. Так что, когда я исполняю этот код:

return System.Net.Dns.GetHostEntry("").HostName; 

с hostname2 его решимость hostname2.company.local и hostname1 к моему имени хоста.

+2

Похоже, вы хотите [имя хоста DNS] (http://stackoverflow.com/questions/1233217/difference-between-systeminformation-computername-environment-machinename-and). –

+1

Обратитесь к: http: //stackoverflow.com/questions/541635/how-do-i-find-the-fully-qualified-hostname-of-my-machine-in-c –

ответ

0

решаю, моя проблема:

  1. кэш Flush DNS

    IPCONFIG/flushdns

  2. Очистить мой hosts файл.

Благодарим за помощь!

3

Используйте этот Dns.GetHostEntry("").HostName, чтобы получить полное имя хоста

public static string GetCurrentMachineName() 
    { 
     return System.Net.Dns.GetHostEntry("").HostName; //returns hostname 
    } 
+0

Это не работает для меня: например, мое имя хоста - имя_хоста1. И мой друг в текущей сети имеет имя хоста с именем hostmane2. Итак, когда я выполняю ваш код с 'hostname2', он разрешает мне« hostname.company.local »и« hostname1 ». –

Смежные вопросы