zoukankan      html  css  js  c++  java
  • 在ASP.NET Core 2.x中获取客户端IP地址

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

    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,它对我们更有用。 

  • 相关阅读:
    idea 相关
    dns 相关
    bash 相关
    建造者模式(Builder)
    C#中out 及 ref 区别
    C# 2.0新特性
    Asp.net.Ajax控件学习
    装饰模式(Decorator Pattern)
    职责链模式(Chain of Responsibility Pattern)
    面向对象
  • 原文地址:https://www.cnblogs.com/qingfenglin/p/11347299.html
Copyright © 2011-2022 走看看