.NET

Async in ASP.NET Core

async/await in Controllern, CancellationToken, Streaming-Responses, Timeouts, Async-Filter, IAsyncEnumerable

20 Interview-Fragen·
Mid-Level
1

Warum sollte man async/await in ASP.NET Core Controller-Actions verwenden?

Antwort

Die Verwendung von async/await in Controllern gibt Threads aus dem Thread-Pool während I/O-Operationen (Datenbank, externe APIs) frei. Dies verbessert die Skalierbarkeit des Servers, da der Thread während des Wartens andere Anfragen verarbeiten kann. Ohne async bleibt der Thread blockiert und verbraucht unnötig Ressourcen, was die Anzahl gleichzeitiger Anfragen begrenzt.

2

Was passiert, wenn eine Controller-Action Task<IActionResult> zurückgibt, ohne async/await zu verwenden?

Antwort

Das Zurückgeben von Task<IActionResult> ohne async/await funktioniert, wenn man direkt eine bestehende Task zurückgibt (return dbContext.SaveChangesAsync();). Ohne das Schlüsselwort async kann man jedoch kein await im Methodenkörper verwenden. Meistens ermöglicht async das Abwarten mehrerer asynchroner Operationen und die Fehlerbehandlung mit try/catch.

3

Was ist der Unterschied zwischen ToList() und ToListAsync() in einer Controller-Action?

Antwort

ToList() ist synchron und blockiert den Thread während der Datenbankabfrage, was die Skalierbarkeit einschränkt. ToListAsync() ist asynchron und gibt den Thread während der I/O-Operation frei, sodass der Server andere Anfragen verarbeiten kann. Verwenden Sie in Controllern stets ToListAsync(), um die Anzahl unterstützter gleichzeitiger Anfragen zu maximieren.

4

Welche Rolle spielt der CancellationToken in Controller-Actions?

5

Wie erhält man den CancellationToken in einer ASP.NET Core Controller-Action?

+17 Interview-Fragen

Meistere .NET für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten