运行ASP.NET应用程序的服务器的DNS

时间:2008-11-13 10:48:22

标签: asp.net

如何了解运行ASP.NET应用程序的服务器的DNS名称?

如果我的应用程序网址为http://www.somehost.com/somepath/application.aspx

,我想获取字符串“www.somehost.com”

是否存在Server,Contex,Session或Request对象的某些属性?

谢谢!

3 个答案:

答案 0 :(得分:3)

这将为您提供托管网站的服务器的DNS IP

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());
                    }
                }
            }
    }

然而,在写这篇文章时,我刚看到你编辑的帖子,所以我认为这就是你所追求的简单:

string host = Request.Url.Scheme + "://" + Request.Url.Host;

希望这有帮助!

答案 1 :(得分:0)

HTTP_HOST服务器变量可以为您提供所需的信息。

Request.ServerVariables("HTTP_HOST")

答案 2 :(得分:0)

您还可以使用

获取“机器名称”
System.Environment.MachineName