📜  获取主机 ip 地址 asp.net core - C# (1)

📅  最后修改于: 2023-12-03 14:57:13.510000             🧑  作者: Mango

获取主机 IP 地址 in ASP.NET Core - C#

在 ASP.NET Core 中,获取主机的 IP 地址是一个常见的任务,它可以帮助我们识别应用程序运行的主机环境。本文将介绍如何使用 C# 在 ASP.NET Core 应用程序中获取主机 IP 地址,帮助你快速实现相应的功能。

方案一:使用 HttpContext

在 ASP.NET Core 中,可以通过访问 HttpContext 对象来获取主机 IP 地址。以下是使用 HttpContext 的示例代码:

public string GetHostIpAddress(HttpContext context)
{
    string ipAddress = context.Connection.RemoteIpAddress.ToString();
    return ipAddress;
}

注意:使用 HttpContext 只适用于在 HTTP 请求上下文中获取主机 IP 地址。

方案二:使用 IWebHostEnvironment

IWebHostEnvironment 是 ASP.NET Core 中的一个接口,提供了访问主机环境信息的功能。通过依赖注入将 IWebHostEnvironment 注入到需要使用的类中,然后可以使用其 WebRootPath 属性来获取主机 IP 地址。以下是使用 IWebHostEnvironment 的示例代码:

private readonly IWebHostEnvironment _hostingEnvironment;

public MyClass(IWebHostEnvironment hostingEnvironment)
{
    _hostingEnvironment = hostingEnvironment;
}

public string GetHostIpAddress()
{
    var ipAddress = _hostingEnvironment.WebRootPath;
    return ipAddress;
}

注意:使用 IWebHostEnvironment 的方式适用于获取主机 IP 地址的场景更加广泛,不限于 HTTP 请求上下文。

以上就是获取主机 IP 地址的两种常见方案。根据你的具体需求,选择适合自己的方法来获取主机 IP 地址。