.NET

Async no ASP.NET Core

async/await em controllers, CancellationToken, streaming responses, timeouts, async filters, IAsyncEnumerable

20 perguntas de entrevista·
Mid-Level
1

Por que usar async/await nas actions de controllers do ASP.NET Core?

Resposta

Usar async/await nos controllers libera os threads do thread pool durante operações I/O (banco de dados, APIs externas). Isso melhora a escalabilidade do servidor ao permitir que o thread processe outras requisições enquanto aguarda. Sem async, o thread permanece bloqueado e consome recursos desnecessariamente, limitando o número de requisições concorrentes.

2

O que acontece se uma action de controller retorna Task<IActionResult> sem usar async/await?

Resposta

Retornar Task<IActionResult> sem async/await funciona se você retornar diretamente uma Task existente (return dbContext.SaveChangesAsync();). No entanto, sem a palavra-chave async, não é possível usar await no corpo do método. Na maioria das vezes, usar async permite aguardar várias operações assíncronas e tratar erros com try/catch.

3

Qual é a diferença entre ToList() e ToListAsync() em uma action de controller?

Resposta

ToList() é síncrono e bloqueia o thread durante a consulta ao banco de dados, limitando a escalabilidade. ToListAsync() é assíncrono e libera o thread durante a operação I/O, permitindo que o servidor processe outras requisições. Sempre use ToListAsync() nos controllers para maximizar o número de requisições concorrentes suportadas.

4

Qual é o papel do CancellationToken nas actions de controllers?

5

Como obter o CancellationToken em uma action de controller do ASP.NET Core?

+17 perguntas de entrevista

Domine .NET para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis