2008-11-13 79 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 
相關問題