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
.