
Async in ASP.NET Core
async/await in Controllern, CancellationToken, Streaming-Responses, Timeouts, Async-Filter, IAsyncEnumerable
1Warum sollte man async/await in ASP.NET Core Controller-Actions verwenden?
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.
2Was passiert, wenn eine Controller-Action Task<IActionResult> zurückgibt, ohne async/await zu verwenden?
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.
3Was ist der Unterschied zwischen ToList() und ToListAsync() in einer Controller-Action?
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.
Welche Rolle spielt der CancellationToken in Controller-Actions?
Wie erhält man den CancellationToken in einer ASP.NET Core Controller-Action?
+17 Interview-Fragen
Weitere .NET-Interviewthemen
C#-Grundlagen
LINQ & Delegates
C#-Sprachgrundlagen
ASP.NET Core Grundlagen
ASP.NET Core Request-Lebenszyklus
Configuration & Settings
Anwendungslebenszyklus
Dependency Injection
Entity Framework Core
Minimal APIs
Web-API-Entwicklung
Authentication & Authorization
HttpClient & Networking
JSON-Serialisierung
Entity Framework Core fortgeschritten
Erweiterte C#-Funktionen
Clean Architecture
Logging, Monitoring & Observability
Unit-Tests & xUnit
Integrationstests
Docker & Containerization
NuGet Package Management
Memory Management & GC
Reaktive Programmierung
Async/await & Patterns
.NET Design Patterns
Performance-Optimierung
Sicherheit & Best Practices
SignalR & Echtzeit
Microservices-Architektur
Meistere .NET für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten