Problem mit System.Net.Dns.GetHostEntry(dnsServer) an .NET 4.0

Ich habe mit dem folgenden code wird für die Monate (ohne problem) in einem .NET 2.0/3.5 Umgebung:

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

Hier, der server ist fest auf eine IP-Adresse, aber in meiner Anwendung, es könnte so etwas wie "server.test.com".

Beim Umbau meines Projekts zu .NET 4.0-code aufgehört zu arbeiten, wenn direkt die übergabe einer IP-Adresse (funktioniert immer noch mit einem Hostnamen). Es stürzt ab, mit dieser Ausnahme:

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)

Weil alles, was ich brauchen, ist die resultierende IPEndPoint, ich kann das Problem umgehen, indem mithilfe der IP-Adresse.Analysieren zu erzeugen IPAddress-Objekt, aber ich möchte wissen, ob einer von Euch weiß, warum dieses Verhalten geändert .NET 4.0? (Wenn wir nicht lösen können den Hostnamen von der IP-Adresse, eine Ausnahme ist jetzt geworfen).

InformationsquelleAutor Jason Kealey | 2010-04-26
Schreibe einen Kommentar