У меня есть два следующих метода:
[HttpPost]
public async Task<IActionResult> CreateModel(MovieModelVm viewModel)
{
var preferences = viewModel.MovieModels.ToDictionary(x => x.MovieId, x => x.Selected);
await Mediator.Send(new CreatePreferenceCommand { Preferences = preferences });
_ = GenerateModelAndPredictions();
return RedirectToAction("Index", "Home");
}
private async Task GenerateModelAndPredictions()
{
await Mediator.Send(new CreateModelCommand());
await Mediator.Send(new CreatePredictionRatingCommand());
}
Чего я хочу добиться, это запустить метод GenerateModelAndPredictions, после RedirectToAction. По сути, я хочу сделать некоторые фоновые вещи, не блокируя пользовательский интерфейс.
В начале выполняется первый вызов этого метода, но он просто прерывается без ошибок. Если я вызываю метод типа await GenerateModelAndPredictions();
, все работает нормально.
Я пробовал с ConfigureAwait(false)
, с Task.Run(() =>GenerateModelAndPredictions())
, в основном все, чтобы избежать части ожидания, поэтому я не блокирую Пользовательский интерфейс, но безуспешно.
Я немного покопался, но, похоже, я не оборачиваюсь вокруг него.