在使用Ninject和asp.net mvc 4时,我无法通过谷歌的.net提供大量文档.
首先,我想知道在asp.net中是否需要Controller工厂.
另外,构造函数注入真的是我们可以用MVC 4进行依赖注入的唯一方法,因为当我将它们与我的控制器一起使用时,属性注入和方法注入似乎不起作用
我不是专家,Ninject
但据我所知,我只是用它来链接我DataSource Interface
和我EfDb Class
的应用程序的其余部分.
如果你需要一本有真正的应用程序的好书,请Ninject
试用:Pro:
ASP.NET MVC 3 Framework,Third Edition
要么
我通常关注的代码行很少
public class NinjectControllerFactory : DefaultControllerFactory
{
private IKernel ninjectKernel;
public NinjectControllerFactory()
{
ninjectKernel = new StandardKernel();
AddBindings();
}
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
return controllerType == null
? null
: (IController) ninjectKernel.Get(controllerType);
}
private void AddBindings()
{
ninjectKernel.Bind<IDataSource>().To<EfDb>();
}
}
Run Code Online (Sandbox Code Playgroud)
然后注册你NinjectControllerFactory
的Global.asax.cs
:
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
正如你所看到的,这个类应用Method Injection
使用private void AddBindings()
.如果您关注,这将非常容易Test Driven Development (TDD)
归档时间: |
|
查看次数: |
13526 次 |
最近记录: |