回答
試試這個:
HttpRequest httpRequest = HttpContext.Current.Request;
string host = httpRequest.Headers["host"];
IPAddress hostAddresse = Dns.GetHostAddresses("host").Where(a=>a.AddressFamily ==AddressFamily.InterNetwork).FirstOrDefault();
我本來以爲老同學,用ServerVariables collection,如下面的在我的測試應用程序很好地工作,但在內置的VS web服務器運行:
void Application_Start(object sender, EventArgs e) {
// Code that runs on application startup
string localAddress = Context.Request.ServerVariables["LOCAL_ADDR"];
// Returns "::1" when running under the VS server, however it throws an
// exception under IIS Express, so I assume it also does so under IIS.
}
我能想出下一個最好的辦法是這樣的:
void Application_Start(object sender, EventArgs e) {
// Code that runs on application startup
string serverName = Server.MachineName;
}
它可以在VS和IIS上運行,所以如果你知道測試服務器或活動服務器的名稱,你可以檢查它嗎?
問題詢問global.asax Application_Start方法。我想你會發現沒有「請求進來的服務器地址」,因爲沒有具體的請求。所以這會悄然崩潰在你身上。下面的答案也是同樣的問題。 – philw 2012-07-04 17:11:15
試試這個。
var ips = Dns.GetHostAddresses(Dns.GetHostName());
if (ips.Any())
{
var serverIp = ips[ips.Count()-1];
}
Dns.GetHostAddresses將不同長度返回由於本地或遠程服務器,
,這就是爲什麼我使用ips.Count() - 1,以獲得至少一個。
如果你打算使用LINQ,爲什麼不使用'var serverIp = ips.Last();'? – Toothbrush 2015-03-03 13:52:34
- 1. 當用戶使用IP地址打開網站時如何獲取IP地址?
- 2. 如何在Linux中獲取當前用戶的IP地址
- 3. 獲取IP地址當前服務器
- 4. 如何獲取asp.net中的服務器/網站IP地址?
- 5. 如何僅獲取IP地址/子網
- 6. 如何獲取網站的所有IP地址?
- 7. 如何獲取本網站的IP地址?
- 8. 在Android中獲取網絡IP地址
- 9. 如何使用c獲取網站ip地址
- 10. 如何獲取IP地址?
- 11. 如何獲取IP地址?
- 12. 如何在PageMethod中獲取IP地址?
- 13. 如何在Python3.4.3中獲取ip地址
- 14. 如何在Python中獲取IP地址
- 15. 如何從網絡上的IP地址獲取MAC地址?
- 16. 如何在PHP中抓取IP地址並獲取網站列表?
- 17. 在Asp.Net核心核心如何獲得網站的IP地址?
- 18. 從網址獲取IP地址
- 19. 如何獲取node.js中的IP地址
- 20. 如何從webview獲取當前網址?
- 21. wx.webkit - 如何獲取當前網址...?
- 22. 如何在selenium-webdriver中獲取網頁的當前網址
- 23. 獲取當前請求中的服務器IP地址
- 24. 如何獲取CodeIgniter中的獲取請求的當前網址?
- 25. 從網站拉IP地址
- 26. 如何獲取訪問網站網址的用戶ip?
- 27. 在security.yml中獲取當前網址
- 28. 在vb.net中獲取當前網址
- 29. 在Angular中獲取當前網址
Web服務器的IP地址不在請求對象中,也不在名爲UserHostAddress的變量中。是什麼讓你覺得呢? – 2010-11-16 09:48:45
IPAddress [] localIPs = Dns.GetHostAddresses(Dns.GetHostName()); http://www.csharp-examples.net/local-ip/ – Kell 2010-11-16 09:50:34
@Kell這可能無法正常工作。 Web服務器可能有許多IP地址,您需要找出該網站綁定的是哪一個。所以你必須使用主機頭。 – Aliostad 2010-11-16 09:57:24