首页 > 编程语言 >Core 6.0 webapi ‘报错InvalidOperationException:无法解析“ Microsoft.AspNetCore.Http.IHttpContextAccessor”类型

Core 6.0 webapi ‘报错InvalidOperationException:无法解析“ Microsoft.AspNetCore.Http.IHttpContextAccessor”类型

时间:2023-11-17 16:25:37浏览次数:49  
标签:webapi Core httpContextAccessor IHttpContextAccessor ip builder 报错 var

因接口版本升级 并使用core 6.0 却发现HttpContext.Current.Request 用不了  所以在网上找了半天 说是使用Microsoft.AspNetCore.Http.IHttpContextAccessor

 private IHttpContextAccessor _httpContextAccessor;

 public WebHelper(IHttpContextAccessor httpContextAccessor)
 {
     _httpContextAccessor = httpContextAccessor;
 }

 public string GetIpAddress()
 {
     var httpContext = _httpContextAccessor.HttpContext;
     var ip = httpContext.Request.Headers["X-Forwarded-For"].ToString().Split(',')[0].Trim();
     if (string.IsNullOrEmpty(ip))
     {
         ip = httpContext.Connection.RemoteIpAddress.ToString();
     }
     return ip;
 }


上面这个是用的地方  在调用接口的时候却一直报错 本来以为是依赖注入的问题 后查询是使用这个需要在Program注册

var builder = WebApplication.CreateBuilder(args);

//使用IHttpContextAccessor 必须注入
builder.Services.AddHttpContextAccessor();

或者

var builder = WebApplication.CreateBuilder(args);

builder.Services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

 

标签:webapi,Core,httpContextAccessor,IHttpContextAccessor,ip,builder,报错,var
From: https://www.cnblogs.com/wuyabaibsd/p/17839022.html

相关文章

  • Dapper NetCore 分区实战
    在上一篇中介绍了基于Dapper的NetCore分表,本篇旨在介绍基于Dapper的NetCore分区,废话不多说开搞吧!模拟业务场景:基于公司所在地区对表建立分区设计公司表结构,其中TableAttribute标识表名,PartitionAttribute标识当前表是分区结构,Property代表按照某个属性分区publicabstractc......
  • RT-Thread Studio中添加软件包报错ImportError: No module named psutil
    经查,我这里是与RT-ThreadStudio一起的python2.7中没有psutil模块导致的,因此需要在python2.7中安装psutil模块。我这里已经安装了python3.8,于是先将环境变量替代为RT-ThreadStudio一起的python2.7(方便下面的命令行执行):然后安装psutil模块:然后就好了: ......
  • 启动open5GS的核心网和srsLTE的enodeB时遇到报错S1-Setup failure Cannot find Served
    问题的场景启动open5GS的核心网和srsLTE的enodeB、ue,遇到报错S1-SetupfailureCannotfindServedTAI,导致enodeB连接不上mme。报错信息S1-SetupfailureCannotfindServedTAICheck'mme.tai'configurationCause:misc-unknown-PLMN报错原因mme配置的PLMN和enodeB配......
  • 打开以前保存在postman的脚本报错:Request not found We could not find the Request
    问题1:上午打开以前保存在postman的脚本报错:RequestnotfoundWecouldnotfindtheRequestyouarelookingfor,如下:问题2:问题3:导入本地文件,超时遇到的这些问题,因为网络原因,过一段时间,有时候会出现,有时候不会出现。......
  • 无法安装ensp ?各种报错解决方案(virtualbox无法运行,启动AR失败,错误代码40等)
    安装eNSP。发现软件中路由器无法启动。VirtualBox是华为eNSP使用的必须运行环境,它提供虚拟网卡设备作为服务器为软件提供运行环境。1.提示出现VirtualBoxOracle无法在此项目运行。我根据百度上的方法,重新还原系统。无果。之前计算机中安装VirtualBox版本为6.0,重新下载了5.3版本的......
  • Bitbucket克隆私有仓库密码报错问题
    使用gitclone克隆私有仓库的时候提示输入密码,输入登陆密码之后报错。这是因为Bitbucket要单独设置Apppassword才能使用gitclone命令,登陆密码仅用于登陆。方法就是Personalsettings这里设置一个Apppassword......
  • 非常经典的一道SQL报错注入题目[极客大挑战 2019]HardSQL 1(两种解法!)
    题目环境:<br/>没错,又是我,这群该死的黑客竟然如此厉害,所以我回去爆肝SQL注入,这次,再也没有人能拿到我的flag了做了好多这个作者出的题了,看来又要上强度了判断注入类型username:adminpassword:1这里把参数password作为注入点<br/>1'<br/>单引号的字符型注入万能密码注......
  • PowerShell pnpm 报错
    Vue3>pnpmrundevpnpm:无法加载文件D:\programfiles\nodejs\node_global\pnpm.ps1。未对文件D:\programfiles\nodejs\node_global\pnpm.ps1进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅https:/go.microsoft.com/fwlink/?Lin......
  • 内网走nginx代理访问高德webapi2.0
    需求:客户的电脑都只能访问内,服务器可以访问外网,客户电脑使用的项目中用到了高德webapi2.0。10.200.31.45:32100是我们的web服务器。网上基本上都是对高德webapi1.4的配置方式,而web2.0有一些差别。1.前端修改高德地图的js应用如果是index.html引入,修改之前的应用:<script......
  • mac 下使用 brew 安装包报错 error: Cannot install under Rosetta 2 in ARM default
    mac下使用brew安装包报错error:CannotinstallunderRosetta2inARMdefaultprefix(/opt/homebrew)!TorerununderARMuse:arch-arm64brewinstall...Toinstallunderx86_64,installHomebrewinto/usr/local.解决办法:arch-arm64brewinstallxxx......