我正在启动一个多项目解决方案,它将有多个入口点,例如 Windows 服务、ASP.NET 网站、WebApi 控制器等。我已经选择了 SimpleInjector,因为它非常快而且我不需要任何高级特征。
我的理解是 SimpleInjector 应该在启动时集中配置。从以下基本示例项目集开始
- NS.Controllers
- NS.Core.Data
- NS.Core.Data.Model
- NS.Web
- NS.WindowsService(假设它不会一直运行)
有多个入口点,SimpleInjector 的引导应该去哪里,可以/应该集中处理(在这种情况下,配置过程需要引用所有项目才能设置所有解决方案类)?
我是否应该有一个不引用其他项目的全局实例(例如 NS.Global.Container),并且每个入口点负责在启动时添加自己的实例要求(优雅地处理重复注册,例如 NS.Core.Model)?
我是否应该寻求使用 ResolveUnregisteredType 事件来处理请求的注册?
我只是缺乏一些小学生的知识吗?
更新:
Steven 在下面的评论中提供的链接为这个问题提供了彻底的答案。