Вы никогда не ожидали своего асинхронного вызова.Поэтому он может даже не завершиться к тому времени, когда ваш результат действия вернется, и, следовательно, может никогда не запуститься.Убедитесь, что вы ожидаете любых асинхронных вызовов.Это означает, что вызывающий метод должен быть помечен как асинхронный (и сделан для возврата Задачи или Задачи), вплоть до стека вызовов, пока он не достигнет обработчика событий или кода структуры.Вот как должен выглядеть ваш код:
[AllowAnonymous]
[HttpPost]
[Route("api/ApplicationUser/Register")]
public async Task<IActionResult> Register([FromBody]ApplicationUserDto userDto)
{
//map dto to entity
var user = _mapper.Map<ApplicationUser>(userDto);
try
{
// save
await _userService.Create(user, userDto.Password);
return Ok();
}
catch (AppException ex)
{
// return error message if there was an exception
return BadRequest(new { message = ex.Message });
}
}
Также обратите внимание, что возвращать подробности исключений пользователю клиента - плохая идея.Исключения могут содержать конфиденциальную информацию, которую злоумышленник может использовать для использования вашей системы.Вместо этого просто верните универсальное сообщение «Извините, что-то пошло не так» и запишите сведения об исключении в вашу среду ведения журнала.Если у вас нет каркаса логов, получите его.