У меня есть страница регистрации на блазоре (сервере). На этой странице я хочу реализовать функцию регистрации, используя AspnetCor.Identity
Это метод: (_usermanager имеет тип AspNetCore.Identity.UserManager <>)
public bool Register(RegisterUser regUser)
{
var newUser = new ApplicationUser { Email = regUser.Mail, UserName = regUser.Mail};
var sd= _userManager.CreateAsync(newUser, "password").Result;
if (!sd.Succeeded)
{
return false;
}
return true;
}
Метод вызывается из HandleValidSubmit на странице блейзора:
<EditForm Model="@_registerUser" OnValidSubmit="HandleValidSubmit">
//...
</EditForm>
@code {
private void HandleValidSubmit()
{
if (identity.Register(_registerUser)) {
NaviationManager.NavigateTo($"/manage/registersent");
}
}
}
Если регистрация не удалась, она работает так же, как и при возвращении false. Но когда регистрация будет в порядке, я оказываюсь в тупике на _userManager.CreateAsync(newUser, "password").Result;
Когда я не пытаюсь сделать асин c -текл синхронным и заменить вызов на _userManager.CreateAsync(newUser, "password")
(и просто игнорирую любые возвращаемое значение) пользователь создается без проблем.
Как мне обработать асинхронный вызов c с возвращаемым значением из HandleValidSubmit
?