博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在ASP.NET Core中获取客户端IP地址
阅读量:5993 次
发布时间:2019-06-20

本文共 1048 字,大约阅读时间需要 3 分钟。

随着ASP.NET的发展,有不同的方式从请求中访问客户端IP地址。WebForms和MVC Web应用程序只是访问当前HTTP上下文的请求。

 

var ip = HttpContext.Current.Request.UserHostAddress;

 

或者只是直接引用当前的Request 

var ip = Request.UserHostAddress;

但是,这在ASP.NET Core 2.0及更高版本中不起作用。您必须从ConfigureServices方法中的Startup.cs类中注入  HttpContextAccessor实例。

public void ConfigureServices(IServiceCollection services)        {            services.AddMvc();            services.AddSingleton 
(); }

现在我们需要在我们的控制器构造函数中使用它并将其分配给控制器级别声明的变量。这样,它可以从控制器中的所有Actions访问。

 

[Route("api/[controller]")]    [ApiController]    public class IPAddressController : ControllerBase    {        private readonly IHttpContextAccessor httpContextAccessor;        public IPAddressController(IHttpContextAccessor httpContextAccessor)        {            this.httpContextAccessor = httpContextAccessor;        }        [HttpGet]        public IActionResult Get()        {            return Content(this.httpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString());        }    }

 

转载于:https://www.cnblogs.com/ZaraNet/p/10142831.html

你可能感兴趣的文章
前端优化
查看>>
38. SQL -- 自动维护计划和管理表
查看>>
电脑常见小技巧
查看>>
usb安全管理
查看>>
我的友情链接
查看>>
树莓派配置小记1:系统篇
查看>>
HDFS详解
查看>>
linux编程指导
查看>>
正则表达式中的任意字符
查看>>
Open-Falcon安装使用笔记
查看>>
一道有关路由器的实验题 寻找前辈指导
查看>>
项目启动会发言稿(范文一)
查看>>
Linux常用命令
查看>>
对之前用PHP写接口,与APP对接一些问题汇总
查看>>
VMware vSphere 6简单部署---VCSA简单使用
查看>>
春节回家
查看>>
Easy ×××实验
查看>>
某个网站
查看>>
地址空间的归纳总结
查看>>
我的友情链接
查看>>