.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(); }