首页 > 解决方案 > 尝试在 OWIN Web API Windows 服务 (.NET 5.0) 中实现 DI

问题描述

好的,所以我的服务使用 Topshelf 来创建 Windows 服务。我遇到的真正问题是如何设置我的 DI(目前是 Autofac,但我可以使用另一个库),以便我可以在设置服务之前使用它。

所以..为了简化事情......我有一个ApplicationService,需要一个ILogger,和一个IDataStore。is的具体类型,ILoggeris的ConsoleLogger具体类型。还使用一个:IDataStoreSqlServerDataStoreSqlServerDataStoreILogger

new ApplicationService(
    new ConsoleLogger(),
    new SqlServerDataStore(
        new ConsoleLogger()))

所以当服务启动时,我需要在启动 WebApi之前设置几个线程WebHostBuilder。这些线程还需要诸如ILogger等类型,因此它们需要访问 DI。

我有一个绝对的魔鬼时间来弄清楚如何做到这一点。我需要在一个地方设置 DI 注册和类型映射,这样我就可以在任何地方使用它。

如果可能的话,我是新手,需要细节。

提前感谢您的任何指导。

标签: asp.net-core.net-coredependency-injectionowin

解决方案


推荐阅读