Я оказался в интересной ситуации.Я в настоящее время использую последний контейнер Unity, я нахожусь на ядре asp.net 2.2, и я использую понимание приложения.Таким образом, я настроил DI в своем веб-приложении для использования единства вместо стандартного поставщика DI в ядре.Я также использую Application Insights и использую расширение IWebHostBuilder.UseApplicationInsights для ускорения AI для моего приложения.
Имея все это в виду, у меня есть фрагмент кода, конструктор которого принимает IHttpContextAccessor, чтобы я мог получить доступ к HttpContext.Это работало отлично.Затем у меня было другое маленькое приложение, которое я пытался повторно использовать функциональность, и HttpContext был нулевым от IHttpContextAccessor.С кучей догадок, тестов, ревизий я обнаружил, что IWebHostBuilder.UseApplicationInsights, похоже, инициализирует это свойство запроса (HttpContext) в IHttpContextAccessor.Если бы я закомментировал это расширение AI, я бы получил null;раскомментируйте это, это сработало.
Я начал просматривать код AI, чтобы выяснить, что именно они делают, но, честно говоря, со всеми зависимостями и конвейерами и всем этим, это довольно сложная задача,Я надеялся, что кто-то может указать, где и как ИИ делает это, поэтому мой код НЕ НУЖЕН ИИ для работы.Вся помощь была бы невероятно удивительной.