c# - 注入(inject) UserManager 和 UserStore

标签 c# model-view-controller controller ninject

使用 ninject 将 UserManager 和 UserStore 注入(inject) Controller 的最优雅的方法是什么?例如,上下文可以这样注入(inject):

 kernel.Bind<EmployeeContext>().ToSelf().InRequestScope();

    public class EmployeeController : Controller
    {
    private EmployeeContext _context;

    public EmployeeController(EmployeeContext context)
    {
        _context = context;
    }

ninject 可以用一行代码将 UserManager 和 UserStore 注入(inject)到 Controller 中吗?!如果没有,最简单的方法是什么? 我不想用这个:

 var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));

提前谢谢你。

最佳答案

没问题,您只需要确保所有依赖项都有绑定(bind)(ApplicationDbContextUserManager<T>UserStore<T>)。绑定(bind)开放泛型是这样完成的:

kernel.Bind(typeof(UserStore<>)).ToSelf().InRequestScope(); // scope as necessary.

如果它有一个接口(interface),你会像这样绑定(bind)它:

kernel.Bind(typeof(IUserStore<>)).To(typeof(UserStore<>));

因此,有了这些绑定(bind),您就可以开始了:

kernel.Bind<ApplicationDbContext>().ToSelf().InRequestScope();
kernel.Bind(typeof(UserManager<>)).ToSelf(); // add scoping as necessary
kernel.Bind(typeof(UserStore<>)).ToSelf(); // add scoping as necessary

关于c# - 注入(inject) UserManager 和 UserStore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23968065/

相关文章:

c# - 调用具有类名称的网站上的按钮?

java - 如何划分 Controller ?

c# - 等待 DbContext 时 WPF UI 阻塞

c# - 如何首先在数据库中扩展类 ASP MVC 5

java - JSP MVC 模型 2 架构问题

model-view-controller - MVC : Am I doing it right?

javascript - 语法错误: Unxpected token < in JSON as position 0

支持单元测试的 PHP 前端 Controller 库

asp.net-mvc - Mvc 中的 DataTable 模型绑定(bind)

c# - 报表查看器未加载,显示空白区域 - 正在运行本地 RDLC 文件