我正在尝试使用 ASP.NET MVC v5、Entity Framework v7 和 Identity v3 从头开始构建一个简单的登录系统。
我想要的只是让用户创建一个帐户,并将该帐户保存在数据库中。这是注册 POST 操作:
[HttpPost]
public async Task<IActionResult> Register (RegisterViewModel model)
{
try
{
var userStore = new UserStore<ApplicationUser>(db);
var userManager = new UserManager<ApplicationUser>(userStore);
var user = new ApplicationUser { UserName = model.Email };
IdentityResult result = await userManager.CreateAsync(user, model.Password);
return RedirectToAction(nameof(HomeController.Index), "Home");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return View();
}
}
我在这里收到错误UserManager
:
错误 CS7036 没有给出与“UserManager.UserManager(IUserStore, IOptions, IPasswordHasher, IEnumerable>, IEnumerable>, ILookupNormalizer, IdentityErrorDescriber, IServiceProvider, ILogger>, IHttpContextAccessor) 的所需形式参数“optionsAccessor”相对应的参数
这是什么意思/我该如何处理?
我也想知道这一点,因为当您创建一个脚手架 MVC 应用程序时,在生成的 AccountController 中,UserManager 从不接受任何参数(即使错误消息说它们是“必需的”形式参数),但应用程序能够注册用户。