问题描述
在ASP.NET MVC的应用程序开发中,我们可以使用Request.ServerVariables["REMOTE_ADDR"]
来获取用户的客户端IP地址,但在ASP.NET Core应用程序开发中,此方式已不可用。
在ASP.NET Core应用程序开发中如何获取用户的客户端IP地址呢?
方案一
在ASP.NET Core应用程序开发中,当前请求上下文与ASP.NET MVC的API是不相同的,获取用户客户端IP地址的API也同样发生了变化。可以使用HttpContext.Connection.RemoteIpAddress
属性来获取远程用户客户端的IP地址,如下:
var remoteIpAddress = request.HttpContext.Connection.RemoteIpAddress;
方案二
使用IHttpConnectionFeature
来获取用户的客户端IP地址,如下:
var remoteIpAddress = httpContext.GetFeature<IHttpConnectionFeature>()?.RemoteIpAddress;
或者:
var remoteIpAddress = HttpContext.Features.Get<IHttpConnectionFeature>()?.RemoteIpAddress;
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册