Проблема с системой. Сеть. DNS. GetHostEntry (dnsServer) на.NET 4.0

Я использовал следующий код в течение многих месяцев (без проблемы) в.NET 2.0/3.5 среда:

string server="192.168.1.3";
IPHostEntry ipe = System.Net.Dns.GetHostEntry(server);
IPAddress ipa = ipe.AddressList[0];
IPEndPoint ipep = new IPEndPoint(ipa, (int)UdpServices.Domain);

Здесь, сервер является hardcoded к IP-адресу, но в моем приложении это могло потенциально быть что-то как "server.test.com".

При преобразовании моего проекта в.NET 4.0, этот код прекратил работать, когда непосредственно передающий IP-адрес (все еще работает с именем хоста). Это отказывает за этим исключением:

System.Net.Sockets.SocketException was unhandled
  Message=The requested name is valid, but no data of the requested type was found
  Source=System
  ErrorCode=11004
  NativeErrorCode=11004
  StackTrace:
       at System.Net.Dns.InternalGetHostByAddress(IPAddress address, Boolean includeIPv6)
       at System.Net.Dns.GetHostEntry(String hostNameOrAddress)

Поскольку все, в чем я нуждаюсь, является получающимся IPEndPoint, я могу работать вокруг проблемы при помощи IPAddress. Синтаксический анализ для генерации объекта IPAddress но я хочу знать, знает ли какой-либо из Вас почему это поведение, измененное в.NET 4.0? (Если мы не можем разрешить имя хоста от IP-адреса, исключение теперь выдается).

8
задан Jason Kealey 26 April 2010 в 14:57
поделиться