获取服务器IP地址的方法:
public IActionResult ServerIp() { return Content(HttpContext.Connection.LocalIpAddress.ToString()); }
获取服务名的方法:
public IActionResult ServerName() { var psi = new System.Diagnostics.ProcessStartInfo("hostname"); psi.RedirectStandardOutput = true; using (var process = System.Diagnostics.Process.Start(psi)) { var computerName = process.StandardOutput.ReadToEnd(); return Content(computerName); } }
在Windows与Linux Ubuntu服务器上实测有效。
public IActionResult ServerIp() { return Content(HttpContext.Connection.LocalIpAddress.ToString()); }
这个方法取到的一直是127.0.0.1
@痛快: 因为你是在本机访问的
@dudu: 我在部署到阿里云的服务器之后,在域名下访问也一直是127.0.0.1,请问是怎么回事呢?用的也是上面的方法
不在asp.net core框架下,如何在普通的类里面获得这些请求的IP地址等信息呢?
.net core 2.0 获取机器名:System.Environment.MachineName