Vac*_*ano 1 c# asp.net-core .net-core-3.1 asp.net-core-3.1
我收到这样的错误:
无法使用单例“MyNamespace.IMyCustomThing”中的范围服务“Microsoft.AspNetCore.Http.IHttpContextAccessor”
我很困惑,因为我是IHttpContextAccessor通过打电话注册的services.AddHttpContextAccessor()。AddHttpContextAccessor 的代码在这里。相关部分是这样的:
services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
Run Code Online (Sandbox Code Playgroud)
IHttpContextAccessor 注册为单例。为什么 ASP.Net Core 认为它是一个范围服务?
注意:如果相关,IMyCustomThing请使用 来IHttpContextAccessor查看是否存在当前HttpContext,如果不存在则采取其他操作。
正如我们在评论中推测的那样,您有一些东西注册IHttpContextAccessor为范围服务。删除它。
services.AddHttpContextAccessor()将其注册为单例,因为它的设计用途是这样的。
| 归档时间: |
|
| 查看次数: |
1325 次 |
| 最近记录: |