我将CustomroleProver设置为:
public class CustomroleProvider : RoleProvider { private readonly IRepository<User> _repository; public CustomroleProvider(IRepository<User> repository) { _repository = repository; } ...
在我的Global.asax.cs中,我有:
//Create Ninject DI kernel var kernel = new StandardKernel(); kernel.Bind<IRepository<User>>().To<Repository<User>>(); //Tell ASP.NET MVC 3 to use our Ninject DI Container DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
当我尝试运行我的代码时,我得到:
配置错误
描述:处理为此请求提供服务所需的配置文件时发生错误.请查看下面的具体错误详细信息并相应地修改配置文件.
来源错误:
第64行:
第65行:
第66行:
第67行:
第68行:
所以也许我对DI和ninject有一个完全错误的理解.我认为当它试图实例化CustomroleProvider时,它会创建用户存储库并将其传递给构造函数,而不是尝试使用无参数的存储库.
我是否理解错误或者我的设置不正确?
我发现这很奇怪,因为DI似乎主要是为控制器工作.