.NET J'utilise le code suivant pendant des mois (sans problème) dans un environnement 2.0/.NET 3.5:problème avec System.Net.Dns.GetHostEntry (DNSSERVER) sur 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);
Ici, le serveur est codé en dur à une adresse IP, mais dans mon application, il pourrait potentiellement être quelque chose comme "server.test.com".
Lors de la conversion de mon projet vers .NET 4.0, ce code a cessé de fonctionner lorsqu'il transmettait directement une adresse IP (fonctionne toujours avec un nom d'hôte). Il se bloque à 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 le résultat IPEndPoint, je peux travailler autour de la question en utilisant IPAddress.Parse pour générer l'objet IPAddress, mais je veux savoir si quelqu'un d'entre vous savez pourquoi ce comportement a changé dans .NET 4.0? (Si nous ne pouvons pas résoudre le nom d'hôte à partir de l'adresse IP, une exception est maintenant levée).
le lien est rompu –
Ce lien fonctionne: [https://connect.microsoft.com/VisualStudio/feedback/details/561083/dns-gethostentry-prend-differently-in-net-4-0-than-previous-versions](https://connect.microsoft.com/VisualStudio/ feedback/détails/561083/dns-gethostentry-se comporte-différemment-dans-net-4-0-que-versions-précédentes) – empty
Ce lien ne fonctionne pas maintenant non plus. – bgmCoder