Besteht eine Gefahr bei der Verwendung von ConfigureAwait(false) in WebApi- oder MVC-Controllern?

Besteht eine Gefahr bei der Verwendung von ConfigureAwait(false) in WebApi- oder MVC-Controllern?

Nicht ganz. Diese Richtlinie macht hier keinen Sinn, da es keinen UI-Thread gibt.

Der an ConfigureAwait übergebene Parameter ist continueOnCapturedContext , was das Szenario deutlicher erklärt. Sie möchten ConfigureAwait(false) verwenden wann immer der Rest dieser async Methode nicht hängen vom aktuellen Kontext ab.

In ASP.NET 4.x ist der „Kontext“ der Anforderungskontext, der Dinge wie HttpContext.Current enthält und Kultur. Außerdem – und das ist der undokumentierte Teil – tun viele der ASP.NET-Hilfsmethoden hängen vom Anforderungskontext ab.

(Nebenbemerkung:ASP.NET Core hat keinen "Kontext" mehr).

Ich habe noch keine feste Anleitung dazu gehört, aber ich vermute, dass es in Ordnung ist.

In meinem eigenen Code verwende ich niemals ConfigureAwait(false) in meine Controller-Aktionsmethoden, damit sie bereits im Anforderungskontext abgeschlossen werden. Es erscheint mir einfach richtiger.