我是 IoC 的新手,因此一直在遵循 Jeffery Palermo 在他的帖子中提供的示例http://jeffreypalermo.com/blog/the-onion-architecture-part-1/ http://jeffreypalermo.com/blog/the-onion-architecture-part-1/并在他在这里举办的书中https://github.com/jeffreypalermo/mvc2inaction/tree/master/manuscript/Chapter23 https://github.com/jeffreypalermo/mvc2inaction/tree/master/manuscript/Chapter23
最需要注意的是,我没有使用预卷的 IoC 容器,主要是因为我想了解所有移动部件。
然而,我正在创建一个 Windows 服务而不是 ASP.NET MVC Web 应用程序,所以我在启动部分有点陷入困境。具体来说,在 web.config 中,他在基础设施项目内部注册了一个 IHttpModule 实现作为启动模块,然后使用构建后事件将必要的 dll 复制到网站目录中,以避免在 Web 项目本身中存在直接依赖关系。
我不认为我在真正的Windows服务中拥有这种奢侈,那么我如何实现类似的东西,我是否应该有一个依赖于基础设施和核心的小型启动项目,或者是否有其他方法可以解决这个问题windows服务的编译时限制?
提前致谢。
根据这个问题(c#)的标签,我假设您将通过派生来实现 Windows 服务服务库 http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.aspx。如果是这样,OnStart 方法将是您的成分根- 这是您编写应用程序的对象图的地方。组合对象图后,组合就结束了,组合对象图接管。
在 OnStop 中,您可以再次停用对象图。
没有什么可以阻止您在单独的程序集中实现已解析对象图的各个组件。这就是我会做的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)