随着MVC 5发布,Asp.Net.Identity位包括UserManager。实例化可能会变得混乱,我正在尝试添加Autofac控制器设置。
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的注册签名是什么?
答案 0 :(得分:6)
我不知道AutoFac,但猜测:
builder.RegisterType<ApplicationUserStore<ApplicationUser>>()
.As<IUserStore<ApplicationUser>>();
builder.RegisterType<UserManager<ApplicationUser>>();