.NET6 ASP.NET CORE MVC 获取客户端IP

在Program.cs中增加一行:

//获取IP使用
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();

注入:

 public HomeController(ILogger<HomeController> logger, IManager user, IHttpContextAccessor httpContextAccessor)
        {
            _logger = logger;
            _user = user;
            _httpContextAccessor = httpContextAccessor;
        }

使用

 public IActionResult Index()
        {
           //注入
            var ip = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString();
            ViewBag.myip = "ip:" + ip;

            //直接实例化HttpContextAccessor
            IHttpContextAccessor ih = new HttpContextAccessor();
            string ip2 = ih.HttpContext.Connection.RemoteIpAddress.ToString();
            ViewBag.myip = "ip2:" + ip2;

            //使用ControllerBase的HttpContext
            var ip3 = HttpContext.Connection.RemoteIpAddress.ToString();
            ViewBag.myip = "ip3:" + ip3;

            return View();
        }

 

posted @ 2022-07-25 18:20  流氓大菠萝  阅读(998)  评论(0编辑  收藏  举报