2008-11-13 63 views
2

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

我想获得字符串“www.somehost.com”如果我的应用程序URL是http://www.somehost.com/somepath/application.aspx

是否有服务器,Contex的,会话或请求对象的某些属性呢?

谢谢!

+0

域名,或域名服务器? – 2008-11-13 12:42:25

+0

或者确实是IP地址? – 2008-11-13 12:58:04

+0

您是否在尝试查找网络用户使用的网址的域名/主机部分?或者运行ASP.NET应用程序的服务器的机器名称?它们不一定相同。鉴于你正在考虑Request对象,我怀疑你是在URL的主机部分之后? – 2008-11-13 13:12:40

回答

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; 

希望这有助于!

0

HTTP_HOST服务器变量可以给你你需要的东西。

Request.ServerVariables("HTTP_HOST") 
0

你也可以得到“机器名”使用

System.Environment.MachineName 
相关问题