【发布时间】:2013-12-12 05:13:56
【问题描述】:
我想知道是否有人遇到了我在尝试将 ApplicationUser 移动到模型项目(所有其他模型所在的模型,包括与用户表相关的模型)时遇到的问题。
我的测试 MVC 5 解决方案包含一个 Web 项目和两个类库:一个用于数据访问层 (DAL),另一个用于模型。我在所有三个项目中都引用了 AspNet.Identity.EntityFramework。
在我的 DAL 类中,我实现了存储库模式和 UnitOfWork。 UnitOfWork 扩展IdentityDbContext<ApplicationUser>。 ApplicationUser : IdentityUser 在 Models 类库中。
在我的 Web 项目中,UnitOfWork 是使用 Autofac DI 实例化的。
对于常规控制器,我定义了一个从 Controller 继承的基类,并将 IUnitOfWork 作为构造函数中的参数。所有控制器都继承自我的自定义基本控制器。
我遇到了AccountController 的问题。它有两个构造函数:一个没有参数,似乎实例化了ApplicationDbContext,另一个将 UserManager 作为参数。
无参数构造函数给了我最大的痛苦。我尝试了很多事情:让 accountcontroller 从我的自定义基本控制器继承,然后尝试从 Controller 类继承它。充其量我成功地编译了我的解决方案,但是当我测试应用程序并填写用户注册表单时,我收到“对象未实例化”消息。当我调试时,我看到AccountController 中的第二个构造函数被调用但UserManager 在那里为空。
有什么想法吗?我真的很感谢有人对此提出明智的意见。
【问题讨论】:
标签: asp.net-mvc authentication identity asp.net-mvc-5