Как и при любом параллельном программировании, ответ, к сожалению: полностью зависит от типа обработки, которую вы делаете.
Для начала среда выполнения ASP.NET уже обеспечивает параллелизм для каждого запроса. Поэтому, если работа, которую вы выполняете, полностью привязана к вычислениям, тогда использование асинхронности будет очень небольшим преимуществом. Исключением из этого правила является то, что данные, обрабатываемые вами в запросе, очень большие и, следовательно, выиграют от дальнейшего параллелизма.
Наиболее важные сценарии, в которых имеет значение , имеет смысл использовать асинхронно, когда вы выполняете любые операции ввода-вывода (дисковый ввод-вывод или сетевой ввод-вывод). ). Например, когда код вашего контроллера ASP.NET ...
- связывается с другим бэкэнд-веб-сервисом
- связывается с сервером базы данных
- читает / записывает информацию о файле на диск
Вы хотите использовать асинхронность в этих случаях, потому что есть время ожидания при выполнении запросов ввода-вывода: задержка диска или сети. Используя async, вы освобождаете поток ЦП, который в противном случае был бы заблокирован, ожидая этих данных, чтобы он мог обрабатывать некоторые другие связанные с вычислениями работы.