Эта проблема вызвана ошибкой в версии 4.3.0 пакета интеграции ASP.NET Core для Simple Injector.
Из-за ошибки любая автоматическая перекрестная зависимость может только быть разрешена в контексте активной области действия, даже если зависимость Singleton
. TelemetryConfiguration
- это Singleton
.
При явном перекрестном соединении этой зависимости (то есть с использованием container.CrossWire<TelemetryConfiguration>(app)
) проблема исчезнет, поскольку CrossWire
позволяет разрешить Singletons
вне активной области.
Проблема была решена в выпуске патча 4.3.1 пакета интеграции. В этой версии вы можете разрешить TelemetryConfiguration
вне контекста активного веб-запроса или простого инжектора Scope
.
В случае, если кросс-проводная служба, однако, Transient
или Scoped
, вам все равно нужно либо иметь активный веб-запрос, либо, в случае выполнения в фоновом потоке, активный простой инжектор Scope
.