C'è qualche pericolo nell'uso di ConfigureAwait(false) nei controller WebApi o MVC?

C'è qualche pericolo nell'uso di ConfigureAwait(false) nei controller WebApi o MVC?

Non proprio. Questa linea guida non ha senso qui, dal momento che non esiste un thread dell'interfaccia utente.

Il parametro passato a ConfigureAwait è continueOnCapturedContext , che spiega più chiaramente lo scenario. Vuoi usare ConfigureAwait(false) ogni volta che il resto di quel async metodo non dipendono dal contesto corrente.

In ASP.NET 4.x, il "contesto" è il contesto della richiesta, che include cose come HttpContext.Current e cultura. Inoltre, e questa è la parte non documentata, molti dei metodi di supporto di ASP.NET fanno dipendono dal contesto della richiesta.

(Nota a margine:ASP.NET Core non ha più un "contesto")

Non ho sentito alcuna guida ferma su questo, ma sospetto che sia OK.

Nel mio codice, non utilizzo mai ConfigureAwait(false) nei miei metodi di azione del controller, in modo che vengano completati già nel contesto della richiesta. Mi sembra solo più giusto.