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

ASP.NET Core 作者: Rector 17阅读 0评论 0收藏 收藏本文

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

问题描述

在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应用程序开发中如何获取用户的客户端IP地址?

发布于: 2018-10-28 09:19:23
分享扩散: