
Async in ASP.NET Core
async/await in controllers, CancellationToken, streaming responses, timeouts, async filters, IAsyncEnumerable
1Waarom async/await gebruiken in ASP.NET Core controller-actions?
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.
2Wat gebeurt er als een controller-action Task<IActionResult> retourneert zonder async/await te gebruiken?
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.
3Wat is het verschil tussen ToList() en ToListAsync() in een controller-action?
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.
Wat is de rol van CancellationToken in controller-actions?
Hoe verkrijg je de CancellationToken in een ASP.NET Core controller-action?
+17 gespreksvragen
Andere .NET-sollicitatieonderwerpen
C#-basisbeginselen
LINQ & Delegates
Essentials van de C#-taal
ASP.NET Core-grondbeginselen
Levenscyclus van requests in ASP.NET Core
Configuration & Settings
Levenscyclus van de applicatie
Dependency Injection
Entity Framework Core
Minimal APIs
Web API-ontwikkeling
Authentication & Authorization
HttpClient & Networking
JSON-serialisatie
Entity Framework Core gevorderd
Geavanceerde C#-functies
Clean Architecture
Logging, Monitoring & Observability
Unit Testing & xUnit
Integratietests
Docker & Containerization
NuGet-pakketbeheer
Memory Management & GC
Reactief programmeren
Async/await & Patterns
.NET Design Patterns
Prestatieoptimalisatie
Beveiliging & Best Practices
SignalR & realtime
Microservices-architectuur
Beheers .NET voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis