【发布时间】:2021-06-29 06:55:47
【问题描述】:
我正在尝试在我的数据库中添加一个用户,但是当我创建它时它没有被添加并且它没有给我一个错误消息。当我向 CeateUser 方法添加断点时,代码正在运行,但是当我在结果条件上添加断点时,代码永远不会到达。
这是我的 PageModel
public class AddUserModel : PageModel
{
[BindProperty]
public NewAccountInput AccountInput { get; set; }
private UserManager<AdminUser> UserManager { get; set; }
public AddUserModel(UserManager<AdminUser> userManager)
{
UserManager = userManager;
}
public void OnPost()
{
if(AccountInput.ComfirmationPassword != AccountInput.Password)
{
return;
}
_ = CreateUser();
}
public async Task<bool> CreateUser()
{
var result = await UserManager.CreateAsync(new AdminUser()
{
Email = AccountInput.Email,
FirstName = AccountInput.UserName,
LastName = AccountInput.UserName,
UserName = AccountInput.Email
}, AccountInput.Password);
if (result.Succeeded)
{
return true;
}
else
{
return false;
}
}
}
【问题讨论】:
-
尝试使方法
OnPost异步并使用await调用方法CreateUser -
谢谢,现在我有一个错误:“无法访问已处置的对象。\n对象名称:'MySqlConnection'。”
-
问题很简单。方法 CreateUser 引发异常。您没有看到此异常,因为您没有使用
await调用方法 CreateUser。请参阅此问题以了解它为何如此有效:stackoverflow.com/questions/60560761/… -
由于我添加了一个等待我有这个错误,所以问题可能不是等待。
-
问题出在你的方法
CreateAsync
标签: c# asp.net asp.net-core asp.net-identity