Asp.net mvc 3 使用Ninject作为IDependencyResolver有严重问题吗?请协助

Asp.net mvc 3 使用Ninject作为IDependencyResolver有严重问题吗?请协助,asp.net-mvc-3,dependency-injection,razor,ninject,ninject.web.mvc,Asp.net Mvc 3,Dependency Injection,Razor,Ninject,Ninject.web.mvc,我创建了一个实现IDependencyResolver的NinjectResolver。在global.asax中,我将这个家伙设置为我的依赖解析程序 然而,在这样做的过程中,我丢失了validaiton上的所有数据破折号属性。而且它还扰乱了整个客户端分页和网格上的排序(使用Telerik的MVC扩展) 下面是课程: public class NinjectResolver : IDependencyResolver { private readonly IKernel _kernel;

我创建了一个实现IDependencyResolver的NinjectResolver。在global.asax中,我将这个家伙设置为我的依赖解析程序

然而,在这样做的过程中,我丢失了validaiton上的所有数据破折号属性。而且它还扰乱了整个客户端分页和网格上的排序(使用Telerik的MVC扩展)

下面是课程:

public class NinjectResolver : IDependencyResolver
{
    private readonly IKernel _kernel;

    public IKernel Kernel
    {
        get
        {
            return _kernel;
        }
    }

    public NinjectResolver(params Ninject.Modules.INinjectModule[] modules)
    {
        _kernel = new StandardKernel(modules);
    }

    public object GetService(Type serviceType)
    {
        return _kernel.TryGet(serviceType);
    }

    public IEnumerable<object> GetServices(Type serviceType)
    {
        return _kernel.GetAll(serviceType);
    }

    public IBindingToSyntax<T> Bind<T>()
    {
        return _kernel.Bind<T>();
    }
}
如果我注释掉SetResolver行,我所有的客户端验证工作以及客户端网格排序、分页、过滤等。不幸的是,我丢失了所有构造函数注入

谢谢你的帮助。不确定是否必须为客户端操作添加更多模块才能工作


请告知

为什么不使用而不是编写自己的实现?它被广泛使用,并被证明在许多项目中有效。

Sweet。这就成功了。出于某种原因,我认为验证提供者等在默认情况下已经离开了Ninject。非常感谢,代码非常干净。谢谢
    protected void Application_Start()
    {
        .... omitted

        var modules = new Ninject.Modules.INinjectModule[] 
        { 
            new PersistenceModule()
        };

        var dependencyResolver = new NinjectResolver(modules);
        DependencyResolver.SetResolver(dependencyResolver);

        .... omitted
    }