Problème avec le Système.Net.Dns.GetHostEntry(dnsServer).NET 4.0

J'ai été en utilisant le code suivant pour le mois (sans problème) dans une .NET 2.0/3.5 environnement:

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);

Ici, le serveur est codé en dur pour une adresse IP, mais dans mon application il pourrait être quelque chose comme "server.test.com".

Lors de la conversion de mon projet .NET 4.0, ce code a arrêté de travailler quand il s'agit de passer d'une adresse IP (fonctionne encore avec un nom d'hôte). Il se bloque avec cette exception:

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)

Parce que tout ce que je besoin est la résultante de l'ipendpoint, je peux contourner le problème en utilisant l'adresse ip.Analyser pour générer l'adresse ip de l'objet, mais je veux savoir si l'un de vous savoir pourquoi ce comportement a changé .NET 4.0? (Si l'on ne peut pas résoudre le nom d'hôte de l'adresse IP, une exception est maintenant levée).

OriginalL'auteur Jason Kealey | 2010-04-26