Если вы реструктурируете свой код для использования async / await, у вас есть возможность просто не ожидать задачу, которая затем будет выполняться в фоновом режиме.
Однако при этом возникает ряд опасностей..
Во-первых, если выброшено исключение, отсутствует дескриптор задачи, к которому будет возвращено это исключение, и вызывающий код не будет знать об этом исключении.
Во-вторых, если экземпляр IIS перезапускаетсяв середине выполнения ваша задача теряется.Это не обязательно нетипично для контекста ASP.NET, но полное выполнение точно не гарантируется.
В-третьих, это немного запутанно и неожиданно.Это может вызвать проблемы с обслуживаемостью в будущем.
Если это вообще возможно, предпочтительнее перенести фоновую обработку во что-то вроде внешней очереди, поскольку в случае кратковременного сбоя можно безопасно повторить операцию.Длительные фоновые задачи никогда не рекомендуются в ASP.NET.Если это невозможно, может потребоваться оптимизация производительности вашего вызова базы данных или, наконец, простое блокирование ответа до завершения запроса.