He estado usando el siguiente código para meses (sin problema) en un entorno .NET 2.0/3.5:Problema con System.Net.Dns.GetHostEntry (dnsserver) en .NET 4.0
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);
Aquí, el servidor está codificado en una dirección IP, pero en mi aplicación podría ser algo así como "server.test.com".
Al convertir mi proyecto a .NET 4.0, este código dejó de funcionar al pasar directamente una dirección IP (todavía funciona con un nombre de host). Se estrella con esta excepción:
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)
Debido a que todo lo que necesito es el IPEndPoint resultante, que puede solucionar el problema utilizando IPAddress.Parse para generar el objeto de dirección IP, pero quiero saber si alguno de ustedes sabe por qué este comportamiento cambió en .NET 4.0? (Si no podemos resolver el nombre de host desde la dirección IP, ahora se lanza una excepción).
se rompe el vínculo –
Este enlace funciona: [https://connect.microsoft.com/VisualStudio/feedback/details/561083/dns-gethostentry-behaves-differently-in-net-4-0-than-previous-versions](https://connect.microsoft.com/VisualStudio/ feedback/details/561083/dns-gethostentry-behaves-differently-in-net-4-0-than-previous-versions) – empty
Ese enlace tampoco funciona ahora. – bgmCoder