Asp.net mvc 如何在MVC和我的模型中使用相同的Ninject绑定
我需要找到一种在我的类(模型)和MVC应用程序的控制器中使用Ninject的方法 如何在两侧使用相同的绑定 现在,我使用生成的Asp.net mvc 如何在MVC和我的模型中使用相同的Ninject绑定,asp.net-mvc,model,ninject,ninject.web.mvc,Asp.net Mvc,Model,Ninject,Ninject.web.mvc,我需要找到一种在我的类(模型)和MVC应用程序的控制器中使用Ninject的方法 如何在两侧使用相同的绑定 现在,我使用生成的NinjectWebCommon.cs创建内核并初始化引导: private static void RegisterServices(IKernel kernel) { System.Web.Mvc.DependencyResolver.SetResolver( new WebApplication1.Models
NinjectWebCommon.cs
创建内核并初始化引导:
private static void RegisterServices(IKernel kernel)
{
System.Web.Mvc.DependencyResolver.SetResolver(
new WebApplication1.Models.NinjectDependencyResolver(kernel)
);
}
我的NinjectDependencyResolver
看起来像:
public class NinjectDependencyResolver : IDependencyResolver
{
private IKernel k;
public NinjectDependencyResolver(IKernel kp)
{
this.k= kp;
AddBindings();
}
public object GetService(Type serviceType)
{
return k.Get(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
return k.GetAll(serviceType);
}
private void AddBindings()
{
k.Bind<ISerializer>().To<MySerializer>();
}
}
如何使Ninject也适用于我的模型
谢谢大家! 您也可以注入模型并添加以下绑定
private void AddBindings()
{
k.Bind<IMySerializer>().To<MySerializer>();
k.Bind<IModel>().To<Model>();
}
private void AddBindings()
{
k、 绑定()到();
k、 绑定()到();
}
或者,如果你没有注射你的模型,那么你可以做一些类似的事情
实际上,我需要使用ninject在非控制器类中注入依赖项。他们可能是模特,也可能不是。我不确定我是否理解该链接中提供的解决方案
private void AddBindings()
{
k.Bind<IMySerializer>().To<MySerializer>();
k.Bind<IModel>().To<Model>();
}