asp.net-mvc - 如何将 ASP.NET MVC 5 UserManager 实例与 Autofac 连接起来?

标签 asp.net-mvc dependency-injection autofac asp.net-mvc-5

随着 MVC 5 版本的推出,Asp.Net.Identity 位包括 UserManager。实例化可能会变得困惑,我正在尝试使用 Autofac Controller 设置进行添加。

Controller 的构造函数

public LoginController(UserManager<ApplicationUser> userManager)
{
    UserManager = userManager;
}

手动创建新实例:

var controller = new LoginController(UserManager<ApplicationUser>(new ApplicationUserStore<ApplicationUser>(new MyDbContext())));

ApplicationUserStore 类/构造函数:

public class ApplicationUserStore<TUser> : IUserLoginStore<TUser>, IUserStore<TUser>, IDisposable where TUser : ApplicationUser

public ApplicationUserStore(IMyDbContext context)
{
    Context = context;
}

我有新的数据库上下文可以正常工作:

builder.RegisterType<MyDbContext>().As<IMyDbContext>();

LoginController 的注册签名是什么?

最佳答案

我不知道 AutoFac,但大胆猜测:

builder.RegisterType<ApplicationUserStore<ApplicationUser>>()
    .As<IUserStore<ApplicationUser>>();
builder.RegisterType<UserManager<ApplicationUser>>();

关于asp.net-mvc - 如何将 ASP.NET MVC 5 UserManager 实例与 Autofac 连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20623233/

相关文章:

asp.net-mvc - 在我的情况下使用扩展方法是否正确?

asp.net-mvc - PerRequestLifetimeManager 和 Task.Factory.StartNew - 使用 Unity 进行依赖注入(inject)

c# - 使用 Autofac 解析 IRepository<T> 的多个具体类?

jquery - 带有 jquery 代码的脚本 block 应该放置在 ASP.NET MVC 母版页上的什么位置?

javascript - 如何将 Json 字符串从 mvc Controller 传递到 d3.js 图表?

java - 如何使用 Spring Boot 在运行时修改 @Qualifer 值

c# - 主要的 C# DI/IoC 框架如何比较?

nhibernate - 使用 Autofac 管理 NHibernate ISession

c# - Mediatr:减少 DI 对象的数量

c# - 在 Ajax.BeginForm MVC 4 场景中发送异常消息