NinjectUserManager和UserStore使用ninject将UserManager和UserStore注入控制器最优雅的方法是什么?例如,可以像这样注入上下文:kernel.Bind().ToSelf().InRequestScope();publicclassEmployeeController:Controller{privateEmployeeContext_context;publicEmployeeController(EmployeeContextcontext){_context=context;UserManager和UserStore是否注入到控制器中?!如果没有,最简单的方法是什么?我不想使用这个:varmanager=newUserManager(newUserStore(newApplicationDbContext()));提前致谢。当然,您只需要确保绑定所有依赖项(ApplicationDbContext、UserManager和UserStore)。绑定开放泛型是这样完成的:kernel.Bind(typeof(UserStore)).ToSelf().InRequestScope();//必要的范围。如果它有一个接口,你可以像这样绑定它:kernel.Bind(typeof(IUserStore)).To(typeof(UserStore));所以,有了这些绑定你就可以开始了:kernel.Bind().ToSelf().InRequestScope();kernel.Bind(typeof(UserManager))。自我();//根据需要添加作用域kernel.Bind(typeof(UserStore)).ToSelf();//根据需要添加范围花了8个小时试图解决这个问题,我想我已经做到了。在其他实现中可能需要修改的一个区别是SharedContext。我的代码有一个从DBContext继承的SharedContext。kernel.Bind(typeof(DbContext)).To(typeof(SharedContext)).InRequestScope();kernel.Bind(typeof(IUserStore)).To(typeof(UserStore)).InRequestScope();kernel.Bind(typeof(UserManager)).ToSelf().InRequestScope();我还对AccountController进行了更改。//publicAccountController()//:this(newUserManager(newUserStore(newSharedContext())))//{//}publicAccountController(UserManageruserManager,UserStoreuserStore){_userStore=userStore;_userManager=用户管理器;}privateUserManager_userManager{得到;放;}privateUserStore_userStore{得到;放;希望这可以节省一些时间。以上就是C#学习教程:NinjectUserManager和UserStore分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
