Unterschied zwischen „await“ und „.ConfigureAwait(true)“C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Unterschied zwischen „await“ und „.ConfigureAwait(true)“

Post by Anonymous »

Mir ist bewusst, dass „ConfigureAwait(false) die Erfassung des aktuellen Synchronisierungskontexts verhindert, sodass die Fortsetzung auf jedem verfügbaren Thread ausgeführt werden kann.
Mir ist jedoch nicht klar, ob es einen Unterschied zwischen der Verwendung von „ConfigureAwait(true)“ und „await“
Zum Beispiel:
gibt

Code: Select all

await SomeAsyncMethod();
versus

Code: Select all

await SomeAsyncMethod().ConfigureAwait(true);
Sind diese beiden Anweisungen funktional identisch oder ändert sich durch „ConfigureAwait(true)“ irgendetwas in Bezug auf Threading, Synchronisierungskontext oder Leistung?
Wenn sie gleich sind, welchen Zweck hat dann der explizite Aufruf von „ConfigureAwait(true)“?
Und wenn es einen subtilen Unterschied gibt, könnte jemand erklären, was sich dahinter verbirgt?
(Ich verwende .NET 6+, aber Einblicke in das Verhalten älterer .NET Framework sind ebenfalls willkommen.)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post