Las mejores prácticas para llamar a ConfigureAwait para todos los códigos del lado del servidor

Cuando tiene un código del lado del servidor (es decir, algunosApiController) y sus funciones son asíncronas, por lo que regresanTask<SomeObject> - ¿Se considera la mejor práctica que cada vez que espere funciones a las que llama?ConfigureAwait(false)?

Había leído que es más eficaz, ya que no tiene que cambiar los contextos de los hilos de nuevo al contexto de los hilos originales. Sin embargo, con ASP.NET Web Api, si su solicitud llega en un solo hilo, usted espera alguna función y llama.ConfigureAwait(false) que podría ponerlo en un hilo diferente cuando devuelva el resultado final de suApiController función.

He escrito un ejemplo de lo que estoy hablando a continuación:

public class CustomerController : ApiController
{
    public async Task<Customer> Get(int id)
    {
        // you are on a particular thread here
        var customer = await SomeAsyncFunctionThatGetsCustomer(id).ConfigureAwait(false);

        // now you are on a different thread!  will that cause problems?
        return customer;
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta