Nessa primeira #rapidinha abordaremos armadilhas (algumas bem comuns) que devemos evitar na implementações de códigos assíncronos utilizando .NET Core.
1. Usar Task.Run()
na aplicação.
Cria uma thread não otimizada.
Causa sobrecarga.
Diminui a escalabilidade.
2. Task.Wait()
e Task.Result()
bloqueiam o seguimento da chamada.
O encademanto não é retornado ao conjunto de encadeamento.
Bloquear código assíncrono prejudica a escalabilidade.-
O ASP.NET Core não possui um contexto de sincronização.
3. Modificando o estado compartilhado.
Threads diferentes podem manipular o mesmo estado ao mesmo tempo.
A correção não pode ser garantida.
Conhece alguma outra armadilha que não devemos cair? Já utilizou alguns desses recursos acima e não sabia disso? Compartilhe suas experiências e vamos trocar uma idéia.
Quer aprender mais sobre como montar uma API assincrona garantindo segurança, performance e escalabilidade? Confira esse curso: