title: Problem with System.Net.Dns.GetHostEntry(dnsServer) on .NET 4.0
body: <p>I have been using the following code for months (without problem) in a .NET 2.0/3.5 environment:</p>
  
  <pre><code>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);
  </code></pre>
  
  <p>Here, server is hardcoded to an IP address, but in my application it could potentially be something like  "server.test.com". </p>
  
  <p>When converting my project to .NET 4.0, this code stopped working when directly passing an IP address (still works with a hostname). It crashes with this exception:</p>
  
  <pre><code>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)
  </code></pre>
  
  <p>Because all I need is the resulting IPEndPoint, I can work around the issue by using IPAddress.Parse to generate the IPAddress object, but I want to know if any of you know why this behaviour changed in .NET 4.0? (If we can't resolve the hostname from the IP address, an exception is now thrown).</p>