Ano, je, protože umožňuje serveru zpracovávat jiné požadavky, zatímco čeká na dokončení I/O, tj. umožňujete stejnému počtu vláken zpracovat více požadavků.
Také vynucení synchronizace pomocí .Result
nebo .Wait()
je nebezpečné, protože dostanete se do uváznutí
pokud to neuděláte správně.
asynchronní pouze znamená, že server může použít vlákno pro něco jiného mezi tím; to je do značné míry transparentní, tj. váš kód se nemusí moc zajímat. Pro praktické účely jednoduše zavolejte await InsertOneAsync(...)
nebo kteroukoli metodu ovladače MongoDB, kterou voláte.
Async je docela 'infekční' funkce:pro efektivní využití funkce async musí být veškerý váš kód schopen se s ní vypořádat.