首先,我想说关于 SO 和 google 搜索有很多答案,但是我遇到了一个问题,阻止了这些解决方案的工作。这里的答案似乎是要走的路。( kernel.Inject(Roles.Provider);
)
我遇到的问题是,当我尝试注入时RoleProvider
Roles.Provider
为 null,但是我的自定义提供程序位于Roles.Providers
. 我认为 Ninject 正试图过早访问角色提供程序。
在我的NinjectWebCommon
课堂上,它似乎是WebActivator
用来启动自己的。[assembly: WebActivator.PreApplicationStartMethod(typeof(Admin.App_Start.NinjectWebCommon), "Start")]
看来我遇到的所有文章都使用旧版本的 Ninject 并且在 Global.asax Application_Start 中做了很多繁重的工作......使用我的实现如何让 DI 为自定义角色提供程序工作?
我[Inject]
在我的自定义提供程序中使用该属性。