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 name ...