private IPAddress[] ResolveInboundVirtualIPs(Dns dns, int partnerId, string fqdnTemplate) { string domainName = string.Format(fqdnTemplate, partnerId); IAsyncResult asyncResult = dns.BeginResolveToAddresses(domainName, AddressFamily.InterNetwork, null, null); asyncResult.AsyncWaitHandle.WaitOne(); IPAddress[] result; DnsStatus dnsStatus = Dns.EndResolveToAddresses(asyncResult, out result); if (dnsStatus != DnsStatus.Success) { base.WriteError(new InvalidOperationException("Unable to resolve inbound IPs. Dns status = " + dnsStatus), ErrorCategory.InvalidOperation, null); } return(result); }