Asp.net mvc 3 使用Ninject作为IDependencyResolver有严重问题吗?请协助
我创建了一个实现IDependencyResolver的NinjectResolver。在global.asax中,我将这个家伙设置为我的依赖解析程序 然而,在这样做的过程中,我丢失了validaiton上的所有数据破折号属性。而且它还扰乱了整个客户端分页和网格上的排序(使用Telerik的MVC扩展) 下面是课程: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;
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
}