在ASP.NET Core中获取客户端IP地址
随着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 <IHttpContextAccessor,HttpContextAccessor>(); }
现在我们需要在我们的控制器构造函数中使用它并将其分配给控制器级别声明的变量。这样,它可以从控制器中的所有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
相关推荐
-
abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十(四十六) C#
2020-6-12
-
Unity3dMVC框架编程核心思想 C#
2019-8-31
-
ASP.NET Core中如何针对一个使用HttpClient对象的类编写单元测试 C#
2019-4-2
-
在 ASP.NET Core 中集成 Skywalking APM C#
2019-6-30
-
Asp.Net Core 轻松学-实现跨平台的自定义Json数据包 C#
2019-4-2
-
[UWP 自定义控件]了解模板化控件(5.2):UserControl vs. TemplatedControl C#
2019-5-16
-
Netty 中的心跳检测机制 C#
2020-6-12
-
一个WinForm富文本编辑器控件 C#
2019-8-31
-
基于微信小程序的系统开发准备工作 C#
2019-5-17
-
FineUIMvc的分部视图连接器 –VS– FineUIPro的用户控件连接器 C#
2019-7-2