在我所拥有的Windows服务应用程序的命令行exe应用程序中,有一个main
方法,这就是我使用简单的注入器IoC
注册所有依赖项的地方。那是我的composition root。在同一个windows service application中,有一个OnStart
可覆盖的方法。这就是我正在进行ETL操作的地方。
我应该将组合物保留在哪里?在main
方法或OnStart
?
答案 0 :(得分:2)
我应该将组合物保留在哪里?在主要方法还是OnStart?
两者都是合成根的有效位置。 Main
和OnStart
都可以用作撰写根。我过去曾经使用过两个地点。通常,我创建一个单独的Bootstrapper
或CompositionRoot
类,其中包含应用程序的Composition Root,并直接从main或我的ServiceBase
派生词中调用Composition Root。