.NET core ABP 获取远程IP地址

2、asp.net core 2.x上配置

第一步:在控制器中定义变量

private IHttpContextAccessor _accessor;

第二步: 控制器的构造函数进行注入

public ValuesController(IHttpContextAccessor accessor)
{
    _accessor = accessor;
}

第三步:在action中 调用

_accessor.HttpContext.Connection.RemoteIpAddress.ToString()

第四步:我们应该要在startup.cs中配置IHttpContextAccessor

public void ConfigureServices(IServiceCollection services)
{
     services.AddMvc();
     services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
}

第五步:可以运行测试一下:

发现已经获取到IP地址啦。

注:在ASP.NET 2.1中,在startup.cs需要修改成以下的内容:

services.AddHttpContextAccessor();
services.TryAddSingleton<IActionContextAccessor, ActionContextAccessor>();

RemoteIpAddress是类型的IPAddress,不是string。它包含IPv4,IPv6和其他信息,它不像经典的ASP.NET,它对我们更有用。 

猜你喜欢

转载自www.cnblogs.com/topguntopgun/p/11008278.html