данных не ожидается возврат обратно.
Как насчет ошибок? Нужно ли возвращать код ошибки при возникновении ошибки или 200 OK
приемлемо, даже если Create
или Update
не удается?
Я предполагаю, что вам понадобится код ошибки. 99,99% звонков.
Нужно ли мне здесь пользоваться?
Ну, если вы хотите синхронных методов, то вы можете просто вызвать синхронный API. Хотя я не знаю, зачем вам это нужно.
Напоминание: await
имеет ничего делать с возвратом в браузер. Он имеет все, что связано с использованием меньшего количества потоков пулов потоков, что позволяет вашему серверу масштабироваться дальше.
Правильно использовать async void в функции создания и обновления?
Нет. Никогда.
Какой будет правильный подход, чтобы сделать огонь и забыть здесь?
Правильный подход - «не делать». Пожар-и-забыть трудно сделать правильно, и на самом деле, так как вам нужен код ошибки, вы не можете сделать огонь и забыть.
Я пишу больше о пожаре и забывании - включая почему StartNew
и Task.Run
являются недействительными решениями - on my blog. Обратите внимание, что единственным полностью надежным решением (включая сценарии обновления) является последнее (распределенная архитектура).
Каково значение async без ожидания, если оно используется только для синхронного запуска? Я даже могу добиться этого без этого ключевого слова.
Это работает серийно (в порядке), а не синхронно (блокирующий поток). Преимущество async
- обеспечить большую масштабируемость. Для получения дополнительной информации см. Мою статью intro to async
on ASP.NET.
если это огонь и забыть, то почему вы назначаете ответ на «результат»? Вы можете достичь огня и забыть с помощью 'Task.Run (() =>)' и даже связать их с 'ContinueWith'. Не забудьте поставить 'ConfigureAwait (false)' в конце –