UserManager 的 CreateAsync 方法不起作用(身份)

UserManager's CreateAsync method doesn't work (Identity)

我的Post方法

        [HttpPost]
        public async Task<IActionResult> Register()
        {
            User user = new User { Email = "asfa@gmail.com", UserName = "asfa@gmail.com" };
            var result = await _userManager.CreateAsync(user, "SS22!faasd");
            if (result.Succeeded)
            {
                // install cookie
                await _signInManager.SignInAsync(user, false);
            }
            else
            {
                foreach (var error in result.Errors)
                {
                    //how can i see my errors here
                }
            }
            return Ok();
        }

我正在尝试使用 UserManager 和 CreateAsync 方法创建用户,但它不起作用。在邮递员中,我总是得到 200 OK.

UserManager连接到我的数据库,因为我可以用get方法获取我的用户。

另外我没有任何cshtml文件,所以无法在页面上输出错误。

In postman I always get 200 OK.

您总是得到 200 OK,因为在方法结束时您正在 returning OK() 方法。

为了让一些其他状态消息考虑检查用户是否已创建,然后才使用 return OK() 方法,否则会抛出异常,如下所示:

throw new ArgumentException("Wasn't able to add user")

或return一些HTTPError,像这样:

 return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Not able to create user");

注意:当您尝试添加新用户时,如果用户已经存在,您也可以抛出异常。


I am trying to create user with UserManager and CreateAsync method, but it doesn't work.

这与您的 _userManager.CreateAsync 方法逻辑有关。请重新访问它。

为了查找错误,我 return OK(result),并在 postman 中看到了这个错误。