使用服务结构的 MVC COre 依赖注入在启动之后和控制器之前获取服务
MVC COre dependency injection with service fabric get services after startup and before controller
我的情况是我有一些代码在启动之后但在控制器之前运行,因为 Servicefabric 通常会在加载和配置通信(例如启动完成)之后初始化可靠的集合。
问题是我如何在启动后和控制器(例如没有 httpcontext)之前访问依赖注入服务,而不将其停放在一些难以测试的肮脏静态中?
另一个选项是一些非常肮脏的构造函数初始化。还有其他人有更好的想法吗?
我现在通常有一个全局容器,我在启动之前设置它并通过 webBuilder.ConfigureServices(servicesAction) 添加到构建器中。启动保持轻松。
然后我使用 .AddSingleton 和工厂方法来延迟初始化 SF 集合。 (我还使用了 AddTransient 和 Func,它一直初始化集合直到成功,然后保持 returns 它)。
我的情况是我有一些代码在启动之后但在控制器之前运行,因为 Servicefabric 通常会在加载和配置通信(例如启动完成)之后初始化可靠的集合。
问题是我如何在启动后和控制器(例如没有 httpcontext)之前访问依赖注入服务,而不将其停放在一些难以测试的肮脏静态中?
另一个选项是一些非常肮脏的构造函数初始化。还有其他人有更好的想法吗?
我现在通常有一个全局容器,我在启动之前设置它并通过 webBuilder.ConfigureServices(servicesAction) 添加到构建器中。启动保持轻松。
然后我使用 .AddSingleton 和工厂方法来延迟初始化 SF 集合。 (我还使用了 AddTransient 和 Func,它一直初始化集合直到成功,然后保持 returns 它)。