首页 > 解决方案 > .net 标准中的 IHttpContextAccessor 引用自 .net 框架

问题描述

我有一个 4.7 .net 框架 API,它引用了一个 .net 标准库。在那个库中有一个大的 ConfigHelper 服务类,它在构造函数中需要 IHttpContextAccessor 对象。我不想通过参数将它传递给很多方法。如何在我的库中正确初始化 httpContextAccessor 对象?

如果我将它传递给 ConfigHelper ( public ConfigHelper(IHttpContextAccessor httpContextAccessor)) 的 ctor,我会收到以下错误:

发生错误。解决方法失败并出现错误:没有可用于类型 Microsoft.AspNetCore.Http.IHttpContextAccessor 的公共构造函数。有关更多详细信息,请在调试模式下运行 Unity:C:\projects\container\src\UnityContainer 中 Unity.UnityContainer.<>c.<.ctor>b__73_1(BuilderContext& context) 处的新 UnityContainer(ModeFlags.Diagnostic)Unity.ResolutionFailedException。 Resolution.cs:Unity.UnityContainer.Unity.IUnityContainer.Resolve 的第 380 行(类型类型,字符串名称,ResolverOverride[] 覆盖)在 C:\projects\container\src\UnityContainer.IUnityContainer.cs:Unity.UnityContainerExtensions 的第 246 行C:\projects\abstractions\src\Extensions\Container\UnityContainer.cs: 882 行中的 .Resolve[T](IUnityContainer 容器,ResolverOverride[] 覆盖)

标签: .net.net-4.0.net-standard

解决方案


推荐阅读