.NET

Async in ASP.NET Core

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

20 gespreksvragen·
Mid-Level
1

Waarom async/await gebruiken in ASP.NET Core controller-actions?

Antwoord

Het gebruik van async/await in controllers maakt thread pool-threads vrij tijdens I/O-operaties (database, externe API's). Dit verbetert de schaalbaarheid van de server doordat de thread andere verzoeken kan verwerken tijdens het wachten. Zonder async blijft de thread geblokkeerd en verbruikt onnodig resources, wat het aantal gelijktijdige verzoeken beperkt.

2

Wat gebeurt er als een controller-action Task<IActionResult> retourneert zonder async/await te gebruiken?

Antwoord

Het retourneren van Task<IActionResult> zonder async/await werkt als je rechtstreeks een bestaande Task retourneert (return dbContext.SaveChangesAsync();). Zonder het sleutelwoord async kun je echter geen await gebruiken in de body van de methode. Meestal maakt async het mogelijk om op meerdere async-operaties te wachten en fouten af te handelen met try/catch.

3

Wat is het verschil tussen ToList() en ToListAsync() in een controller-action?

Antwoord

ToList() is synchroon en blokkeert de thread tijdens de databasequery, wat de schaalbaarheid beperkt. ToListAsync() is asynchroon en maakt de thread vrij tijdens de I/O-operatie, waardoor de server andere verzoeken kan verwerken. Gebruik in controllers altijd ToListAsync() om het aantal ondersteunde gelijktijdige verzoeken te maximaliseren.

4

Wat is de rol van CancellationToken in controller-actions?

5

Hoe verkrijg je de CancellationToken in een ASP.NET Core controller-action?

+17 gespreksvragen

Beheers .NET voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis