Name
Dns
Synopsis
This type offers up a collection of static methods for resolving DNS (Domain Name Service) operations. Because raw IP addresses (such as 192.168.0.1) can be difficult for humans to remember, DNS servers take human-friendly names (such as “www.oreilly.com”) and in turn translate them into IP addresses and/or back again. This ability can be useful in a variety of scenarios, including the simple logging of clients who have visited a web site recently. (Note that this is not a secure way of tracking usage—even a simple attacker can spoof the return address of an IP packet, so don’t rely on this mechanism for any kind of security validation or audit trail.)
The GetHostByName( ) method takes a hostname (such
as “www.oreilly.com”) and returns
the corresponding IPHostEntry instance; this
IPHostEntry instance is used later in several of
the System.Net and
System.Net.Sockets types. This method (along with
the paired method Resolve( )) can be invoked
asynchronously using the BeginGetHostByName( ) or
BeginResolve( ) methods. Like all async methods in
the .NET Framework, they take two additional parameters: an
AsyncCallback object, and a generic
object parameter that is passed to the
AsyncCallback when the call completes.
At the surface, there would appear to be no difference between
calling Resolve( ) or GetHostByName( ); in fact, the Resolve( ) method calls
into GetHostByName( ) after doing a small amount of preprocessing to check if the string passed is either a standard host ...