我有一个ASP.NET MVC 3应用程序,它使用Ninject来解决依赖关系.到目前为止,我必须做的就是使Global文件继承NinjectHttpApplication,然后重写CreateKernel方法以映射我的依赖项绑定.之后,我能够在我的MVC控制器构造函数中包含接口依赖项,并且ninject能够解析它们.一切都很棒.现在我想在模型绑定器中解决依赖关系,当它创建我的模型的实例时,但我不知道如何做到这一点.
我有一个视图模型:
public class CustomViewModel
{
public CustomViewModel(IMyRepository myRepository)
{
this.MyRepository = myRepository;
}
public IMyRepository MyRepository { get; set; }
public string SomeOtherProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个接受视图模型对象的action方法:
[HttpPost]
public ActionResult MyAction(CustomViewModel customViewModel)
{
// Would like to have dependency resolved view model object here.
}
Run Code Online (Sandbox Code Playgroud)
如何覆盖默认模型绑定器以包含ninject并解决依赖关系?
c# asp.net-mvc dependency-injection model-binding asp.net-mvc-3
Inject属性不适用于字段.
[Inject]
public MyContext context; //Not injected
[Inject]
public MyContext context {get; set;} //Injected
Run Code Online (Sandbox Code Playgroud)
我正在使用默认的Ninject设置.为什么不注入田地?