首页 / ASP.NET Core / 正文

[ASP.NET Core]ASP.NET Core应用程序开发中如何获取用户的客户端IP地址?

327 发布于: 2018-10-28 09:19 读完约需 1 分钟

问题描述

在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;

郑重申明:本文未经许可,禁止任何形式转载

上一篇: [ASP.NET Core]ASP.NET Core应用程序开发中如何读取配置文件config.json的配置数据?

下一篇: [ASP.NET Core]ASP.NET Core应用程序开发中如何使用@Html.Action?

本文永久链接码友网 » [ASP.NET Core]ASP.NET Core应用程序开发中如何获取用户的客户端IP地址?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册