My 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文件,所以我不能在页面上输出错误。
在邮递员中,我总是能得到200 OK。
您总是得到200 OK
,因为在方法的末尾,您将返回OK()
方法。
为了获得一些其他状态消息,请考虑检查用户是否已创建,然后才返回OK()
方法,否则要么抛出异常,如下所示:
throw new ArgumentException("Wasn't able to add user")
或者返回一些HTTPError,比如:
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Not able to create user");
注意:当您尝试添加新用户时,如果用户已经存在,您也可以抛出异常。
我试图用UserManager和CreateAsync方法创建用户,但它不起作用。
这与您的_userManager.CreateAsync
方法逻辑有关。请重新访问。
要查找错误,我返回OK(result)
,并在poster中看到此错误。