net example await async asp .net asp.net-core async-await

example - ConfigureAwait(false) relevante en ASP.NET Core?



web api async controller (1)

Me topé con un problema ( https://github.com/HTBox/allReady/issues/1313 ) en GitHub donde discutieron sobre la eliminación de ConfigureAwait(false) del código, alegando que, en ASP.NET Core

la llamada a ConfigureAwait(false) es redundante y no hace nada

Lo mejor que pude encontrar aquí es una "nota al margen" en una respuesta (de Stephen Cleary, https://stackoverflow.com/a/40220190/2805831 ) que dice que

ASP.NET Core ya no tiene un "contexto"

Entonces, ¿ ConfigureAwait(false) realmente innecesario en ASP.NET Core (incluso si se usa .Net Framework completo)? ¿Tiene alguna ganancia real en el rendimiento en algunos casos o alguna diferencia en el resultado / semántico?

EDITAR: ¿Es diferente en este aspecto si lo alojo como una aplicación de consola o en IIS?


ConfigureAwait solo tiene efectos en el código que se ejecuta en el contexto de un SynchronizationContext que ASP.NET Core no tiene (ASP.NET "Legacy" sí).

El código de uso general aún debería usarlo porque podría estar ejecutándose con un SynchronizationContext .

ASP.NET Core SynchronizationContext