Похоже, что приведенный выше код работает нормально
Это почти всегда плохая идея.Основная проблема в том, что ваше приложение не знает, когда этот код завершится.В частности, если он завершает с исключением , то это исключение будет тихо проглочено.Также из-за утилизации фоновая работа может бесшумно исчезнуть.Кроме того, когда методы async
возобновляются, они берут потоки из пула потоков, и это может помешать эвристике пула потоков ASP.NET, если это сделано много.Кроме того, если вы используете ASP.NET Classic (не Core), то метод async
может попытаться возобновить работу в контексте запроса ASP.NET, который уже был удален / переработан, что может вызвать некоторые странные ошибки - вы 'Я хочу убедиться, что DoAsideStuff
выполняется без a SynchronizationContext
, если вы работаете в ASP.NET Classic.
Если эти ограничения приемлемы, то единственный дополнительный побочный эффект, когдапод нагрузкой все это усложняется: вы будете молча проглатывать больше исключений, молчать больше работы и больше вмешиваться в эвристику пула потоков ASP.NET.