相关疑难解决方法(0)

何处在多层应用程序中定位Ninject模块

我的应用程序包括许多后端程序集(包括实体框架数据存储库层),这些程序集由许多前端程序集(包括Windows服务和MVC3 Web应用程序)共享.

我对Ninject绑定过程的理解是,每个包含可注入类型的程序集还应包含一个Ninject模块,该模块定义这些类型的默认绑定.然后将定义的模块集加载到消耗组件的Ninject内核中.

但是,我遇到了问题,因为所需的绑定范围并不总是一致的.例如,我的MVC项目需要绑定到数据上下文InRequestScope,而Windows服务绑定到同一个类InThreadScope.

我可以通过将所有模块重新定位到前端项目中来解决这个问题,从而为每个使用场景维护每个模块的单独副本,但这看起来很麻烦,因为它复制了多个项目中的大部分模块内容.

是否存在关于模块应该位于多层应用程序中的最佳实践?如何将其与我对项目之间的差异绑定的需求相协调?

非常感谢你的建议,

蒂姆

binding module ninject

14
推荐指数
2
解决办法
4703
查看次数

标签 统计

binding ×1

module ×1

ninject ×1