Pular para o conteúdo principal

Questão de Programação — ASP — FUNDATEC 2025

ProgramaçãoASP
Código
qg474998
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação/Ênfase em Programação de Sistemas na Tecnologia Microsoft
Em um serviço ASP.NET Core, fora de manipuladores de evento, qual é o retorno apropriado para métodos assíncronos, considerando observação de exceções, possibilidade de await pelo chamador e boas práticas de escalabilidade?
  1. APreferir ValueTask/ValueTask <T> em todos os métodos para reduzir alocações; quando o método apenas "dispara e esquece", usar async void para simplificar.
  2. BReservar async void apenas para manipuladores de eventos; para métodos de serviço/repositório, retornar Task/Task <T>.
  3. Cawait não bloqueia, mas em ASP.NET Core o contexto é sempre recapturado; por isso, ConfigureAwait(false) é obrigatório para evitar deadlocks.
  4. DPara não "segurar" a thread de requisição, envolver todo I/O em Task.Run e retornar void quando não houver resultado.
  5. ERetornar Task quando houver resultado e async void quando não houver, já que o chamador não precisa aguardar.
Revelar gabarito e comentário

GabaritoB — Reservar async void apenas para manipuladores de eventos; para métodos de serviço/repositório, retornar Task/Task <T>.

Link permanente: /questoes/qg474998