120 votes

ConfigureAwait (false) est-il pertinent dans ASP.NET Core?

Je suis tombé sur un problème (https://github.com/HTBox/allReady/issues/1313) sur GitHub où ils ont discuté sur la prise de l' ConfigureAwait(false) de ce code, en faisant valoir que, dans ASP.NET de Base

l'appel à l' ConfigureAwait(false) est redondante et ne fait rien

Le mieux que j'ai pu trouver ici est une "note de côté" dans une réponse (à partir de Stephen Cleary, https://stackoverflow.com/a/40220190/2805831) dire que

ASP.NET de Base n'a plus de "contexte"

Alors, est - ConfigureAwait(false) vraiment inutiles dans ASP.NET de Base (même si l'aide complète .Net Framework)? Quel est son réel gain de performances dans certains cas ou la différence dans le résultat/sémantique?

EDIT: Est-il différent dans cet aspect si je suis d'hébergement comme une application console ou dans IIS?

134voto

Paulo Morgado Points 1015

ConfigureAwait n'a d'effets que sur le code exécuté dans le contexte d'un SynchronizationContext que ASP.NET Core n'a pas (ASP.NET "Legacy" en a).

Le code à usage général doit toujours l'utiliser car il peut s'exécuter avec SynchronizationContext .

ASP.NET Core SynchronizationContext

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X