Prática correta de uso do ConfigureAwait em código de servidor em C#
Olá a todos! Sou um desenvolvedor C# iniciante e recentemente me deparei com um problema ao escrever código assíncrono em ASP.NET Web API. Li sobre o método ConfigureAwait(false), mas não entendo completamente quando e por que usá-lo em aplicações de servidor.
Tenho um controller que faz várias chamadas assíncronas ao banco de dados e a uma API externa. Aqui está um exemplo do meu código:
```csharp
public async Task GetUserData(int userId)
{
var user = await _userService.GetUserAsync(userId);
var orders = await _orderService.GetOrdersAsync(userId);
var externalData = await _externalApi.GetDataAsync();
return Ok(new { user, orders, externalData });
}
```
Ouvi dizer que em código de servidor é necessário usar `ConfigureAwait(false)` após cada `await`, mas alguns dizem que isso não é obrigatório. Qual é a diferença entre usar e não usar ConfigureAwait? Existe risco de deadlocks? E como aplicar isso corretamente em ASP.NET Core?
Especialmente me inter