Есть ли какой-то выигрыш в производительности в соответствующем запросе нескольких дБ с помощью .ToListAsync, если мне приходится каждый раз ждать, а не использовать Sync .ToList ()? - PullRequest
0 голосов
/ 10 марта 2019

Итак, я сначала извлекал данные из базы данных таким образом, соответственно, с каждым репозиторием:

_dbset.ShareCompany.ToList();

_dbset.SourceOfIncome.ToList();

Точно так же было больше вызовов в БД. Затем я изменил свой вызов БД на:

await _dbset.ShareCompany.ToListAsync();

await _dbset.SourceOfIncome.ToListAsync();

Но я не думаю, что есть какой-то выигрыш в производительности с этим асинхронным вызовом, так как он должен ждать получения данных, что в свою очередь превращает их в синхронизирующий вызов. Если мне придется ждать данных, чтобы получить мои следующие данные.

Так что, если кто-нибудь может сказать мне, когда это хорошая практика, чтобы использовать асинхронные вызовы, и будет ли какой-либо выигрыш в производительности, если я буду использовать асинхронность во втором коде и как?

1 Ответ

1 голос
/ 10 марта 2019

Использование async освободит ваш рабочий поток для принятия новых запросов. Это делает ваше приложение более отзывчивым. Если вы не используете асинхронный режим, рабочий поток блокируется, и IIS ускоряет создание нового потока для новых запросов (что в конечном итоге может снизить производительность приложения, поскольку вы можете ускорить только столько потоков).

Это фактически дубликат этого вопроса, на который уже дан ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...