This will get you the DNS IP for the server that is hosting the web site
void GetDNSServerAddress()
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface ni in nics)
{
if (ni.OperationalStatus == OperationalStatus.Up)
{
IPAddressCollection ips = ni.GetIPProperties().DnsAddresses;
foreach (System.Net.IPAddress ip in ips)
{
Console.Write(ip.ToString());
}
}
}
}
However, while writing this ive just seen your edited post, so i think this is what you are after is simply:
string host = Request.Url.Scheme + "://" + Request.Url.Host;
Hope this helps!