static void OnCompleted(object sender, SimpleResolverEventArgs e) { DnsAsyncResult ares = (DnsAsyncResult)e.UserToken; IPHostEntry entry = e.HostEntry; if (entry == null || e.ResolverError != 0) { ares.SetCompleted(false, new Exception("Error: " + e.ResolverError)); return; } ares.SetCompleted(false, entry); }
static IAsyncResult BeginAsyncCallAddresses(string host, AsyncCallback callback, object state) { SimpleResolverEventArgs e = new SimpleResolverEventArgs(); e.Completed += OnCompleted; e.HostName = host; DnsAsyncResult ares = new DnsAsyncResult(callback, state); e.UserToken = ares; if (resolver.GetHostAddressesAsync(e) == false) { ares.SetCompleted(true, e.HostEntry); // Completed synchronously } return(ares); }
static IAsyncResult BeginAsyncCall (string host, AsyncCallback callback, object state) { SimpleResolverEventArgs e = new SimpleResolverEventArgs (); e.Completed += OnCompleted; e.HostName = host; DnsAsyncResult ares = new DnsAsyncResult (callback, state); e.UserToken = ares; if (resolver.GetHostEntryAsync (e) == false) ares.SetCompleted (true, e.HostEntry); // Completed synchronously return ares; }