2

我正在尝试使用 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 从不接受任何参数(即使错误消息说它们是“必需的”形式参数),但应用程序能够注册用户。

4

0 回答 0