ebb*_*ebb 1 asp.net console dependency-injection ninject ioc-container
我有一个引用数据和实体层的Web.现在我想用一个控制台应用程序来扩展我的解决方案,该应用程序将执行与数据库相关的一些事情,因此也引用了数据和实体层.在我的数据和实体层中,我正在使用依赖注入,并且正在考虑是否需要再次为这些注入声明所有绑定(例如在我的Web应用程序中) - 或者我可以以某种方式共享它们,以便我的Web和控制台应用程序使用相同的绑定?
我的第一个想法是创建一个包含所有绑定的公共库,然后只调用我需要的那些..但是这会导致对程序集的大量加载的unessecary引用.
简而言之:如何在我的Web应用程序和控制台应用程序中声明我的依赖注入绑定一次并使用它们?
有什么建议?
如果您的关注点是保持业务逻辑程序集不受Ninject模块影响,您可以将它们添加到自己的程序集中,例如EntityBindingModule.dll,并告诉内核在引导程序中加载所有这些程序集:
kernel.Load("*BindingModule.dll")
这样,只是部署了添加绑定的问题.
注意:这需要在引导程序加载的程序集和程序集的实际名称之间采用某种约定.在上面的示例中,这些程序集以BindingModule.dll结尾.
归档时间: |
|
查看次数: |
408 次 |
最近记录: |