Да, така е, тъй като позволява на сървъра да обработва други заявки, докато чака I/O да завърши, т.е. позволявате на същия брой нишки да обработват повече заявки.
Освен това принудително синхронизиране чрез .Result
или .Wait()
е опасно, защото ще попаднете на задънени блокировки
ако не го направите правилно.
асинхронно означава само, че сървърът може да използва нишката за нещо друго между тях; това е до голяма степен прозрачно, т.е. вашият код не трябва да се интересува много. За практически цели просто извикайте await InsertOneAsync(...)
или който и да е метод на драйвер MongoDB, който извиквате.
Async е доста „заразна“ функция:за да използвате ефективно async функцията, целият ви код трябва да може да се справя с нея.