我应该在哪里创建Windows服务中的组合根?

时间:2017-04-06 23:51:57

标签: windows-services simple-injector compositionroot

在我所拥有的Windows服务应用程序的命令行exe应用程序中,有一个main方法,这就是我使用简单的注入器IoC注册所有依赖项的地方。那是我的composition root。在同一个windows service application中,有一个OnStart可覆盖的方法。这就是我正在进行ETL操作的地方。

我应该将组合物保留在哪里?在main方法或OnStart

1 个答案:

答案 0 :(得分:2)

  

我应该将组合物保留在哪里?在主要方法还是OnStart?

两者都是合成根的有效位置。 MainOnStart都可以用作撰写根。我过去曾经使用过两个地点。通常,我创建一个单独的BootstrapperCompositionRoot类,其中包含应用程序的Composition Root,并直接从main或我的ServiceBase派生词中调用Composition Root。