Сценарий выглядит следующим образом:
- Серверная часть: Asp.NET Core WebAPI 2.2
- Внешний интерфейс: iOS и Android, использующий API
У меня есть функция, позволяющая пользователю отправлять сообщения другим пользователям.Отправка сообщения выполняется в асинхронном действии:
public async Task<IActionResult> CreateMessage
Это действие выполняет следующие действия по порядку:
- Проверка
- Ожидает сохранения сообщения в БД
- Ожидает уведомления соответствующих клиентов через SignalR
- Не ожидает отправки push-уведомления через Azure Notification Hub.
- Возвращает 200 OK.
Последние две строки в действии следующие:
_notificationHubProxy.SendNotification(messageToReturnResource.SenderName, messageToPush, recipientId);
return Ok(messageToReturnResource);
SendNotification является асинхронным, но я предпочитаю не ждать его, чтобы избежатьUI-блокировки вызваны ожиданием завершения запроса.На данный момент все это, кажется, работает нормально.
Мой вопрос на самом деле следующий: это окей (т.е. не ждать), или это пример написания плохого кода, который вызовет проблемы, когда у меня многоклиенты, использующие приложение?
С уважением