为什么在IISExpress中运行时不需要显式注册IHttpContextAccessor?

时间:2017-08-25 06:47:31

标签: dependency-injection httpcontext asp.net-core-mvc-2.0

本周我将.net核心1.0应用API迁移到.net核心2.0应用。尘埃落定后,它在我的本地机器上工作正常,但它在我们的开发环境中崩溃了。经过一些相当大的故障排除后,我发现announcement,如果我们想要使用它,我们现在必须明确注册IHttpContextAccessor。除了在本地测试和运行IISExpress时这不是问题。我现在也在我的本地环境中设置了IIS Proper,并在那里遇到了同样的崩溃。

我仔细查看了我的Startup.cs代码,虽然我们确实有几个环境变量依赖注册案例(Dev vs QA),但我相信在一个环境中不会使用像Identity这样的组件。不影响对方。事实上,我仍然需要回到我们的几个内部共享组件,并明确地在需要它的地方添加此服务的注册。

什么可能构成导致隐式注册此服务的两者(IIS与IISExpress)之间的区别?

1 个答案:

答案 0 :(得分:1)

Application Insights会为您注册,默认情况下会在VS中启用。在VS的最新版本中,您可以选择退出AI。

https://github.com/aspnet/Home/issues/2989