.net Core 3.x 中HttpContext的使用

之前写FrameWork 代码的时候,如果要获取当前请求的信息,我们都会使用HttpContext.Current 来获取信息。但是在.netCore 中,我们不能这样去获取,那么怎么去使用呢?ASP.NET Core中提供了一个IHttpContextAccessor接口,HttpContextAccessor 默认实现了它简化了访问HttpContext,废话不说,直接撸代码,具体如下:

1.我们需要在StartUp.cs 文件中添加红色方框里边的代码,采用依赖注入的方式注入HttpContextAccessor对象,通过该对象我们可以获得请求httpContext信息。

 

2.如果我们直接在Controller 中使用HttpContext 信息,可以直接通过下边方式去获取,例如下边图片中我们获取到了请求的ip 地址信息。注释掉的代码请直接忽视

 

3.如果我们是在其他类中使用,比如Service 中,我们需要通过构造方式注入IHttpContextAccessor,然后就可以获取到httpContext对象,此处声明的Accessor 对象是放在BaseService 中的,为了理解方便,才拿出来放在MemberService 中的。,具体请看下图(注意:注入这个地方我使用了autofac 的属性注入,有不了解属性注入和构造函数注入,以及接口注入的可以自行百度。;另外 .netCore 中怎样使用autofac 请点击该链接 )https://blog.csdn.net/laosunlaiye/article/details/105771500

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值