Asp.net mvc 如何在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

我需要找到一种在我的类(模型)和MVC应用程序的控制器中使用Ninject的方法

如何在两侧使用相同的绑定

现在,我使用生成的
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>();
    }