【发布时间】:2019-04-23 00:56:04
【问题描述】:
我发现自己处于一个有趣的位置。我目前使用最新的 Unity 容器,我在 asp.net core 2.2 上,我使用应用程序洞察力。因此,我已在我的 Web 应用程序中配置 DI 以使用统一而不是核心中的开箱即用 DI 提供程序。我还使用 Application Insights 并使用 IWebHostBuilder.UseApplicationInsights 扩展来为我的应用启动 AI。
考虑到这一切,我有一段代码,其构造函数接受 IHttpContextAccessor,因此我可以访问 HttpContext。它工作得很好。然后,我有另一个小应用程序,我试图重用该功能,而来自 IHttpContextAccessor 的 HttpContext 为空。通过一堆猜测、测试、修改,我发现 IWebHostBuilder.UseApplicationInsights 似乎在 IHttpContextAccessor 上初始化了请求属性(HttpContext)。如果我注释掉那个 AI 扩展,我会得到 null;取消注释,它起作用了。
我已经开始查看 AI 代码以弄清楚它们到底在做什么,但老实说,有所有依赖项和管道以及所有这些,这是一项非常艰巨的任务。我希望有人能指出人工智能在哪里/如何做到这一点,这样我的代码就不需要人工智能来工作。所有的帮助都会非常棒。
【问题讨论】:
-
只需在启动时自己添加访问器mappnig
IHttpContextAccessortoHttpContextAccessor -
是的,我这样做了
标签: azure asp.net-core unity-container azure-application-insights