Ja, das ist es, da es dem Server ermöglicht, andere Anforderungen zu verarbeiten, während er auf den Abschluss der E/A wartet, d. H. Sie erlauben der gleichen Anzahl von Threads, mehr Anforderungen zu verarbeiten.
Auch das Erzwingen der Synchronität mit .Result
oder .Wait()
ist gefährlich, da Sie in Deadlocks geraten
wenn du es nicht richtig machst.
asynchron bedeutet nur, dass der Server den Thread für etwas anderes dazwischen verwenden kann; dies ist weitgehend transparent, dh Ihr Code muss sich nicht viel darum kümmern. Rufen Sie für praktische Zwecke einfach await InsertOneAsync(...)
auf oder welche MongoDB-Treibermethode Sie auch immer aufrufen.
Async ist ein ziemlich „ansteckendes“ Feature:Um das Async-Feature effizient nutzen zu können, muss Ihr gesamter Code in der Lage sein, damit umzugehen.