MVC Ninject:如何从一个MVC区项目添加NinJect绑定(MVC Ninject: Ho

2019-10-21 12:43发布

我一直在使用这个博客例如:

http://blog.longle.net/2012/03/29/building-a-composite-mvc3-application-with-pluggable-areas/

我有我的解决方案工作的概念。 不过,我试图找出一个好办法只有绑定用户是否有权限访问一个模块/区域添加到内核。

我读了一些关于服务定位,但我试图远离它。

有一两件事我想只是把事情的工作是用户构造器注入的模块默认构造函数。 它的工作不过是一个黑客。

我使用的模式,每个模块项目创建,从AreaRegistion继承一个类。 当每个模块生成项目,相关文件被复制到主Web项目的地区文件夹中。 然后,当主体工程的负荷,反射用来加载所有的模块组件。 然后,当AreaRegistration.RegisterAllAreas()被调用时,它检测和加载所有与继承AreaRegistration一个类中的模块。

我想弄清楚访问Ninject内核,并从AreaRegistration继承模块类添加绑定一个好办法。 我会想象启动代码从RegisterArea()重写添加绑定。

我在寻找如何做到这一点,而不诉诸的ServiceLocator任何建议。

任何想法将不胜感激。

Answer 1:

现在我已经找到了更好的解决方案,这就是使用NinjectModule。 在插件类,我要创造,从NinjectModule继承的类。 然后设置在负载过载pluging绑定。

然后使用Kernel.Load在我的主引导程序的应用程序初始化,其中从NinjectModule继承所有插件类负载过载。



文章来源: MVC Ninject: How to add NinJect bindings from an MVC Area project