
Async côté ASP.NET Core
async/await dans controllers, CancellationToken, streaming responses, timeouts, async filters, IAsyncEnumerable
1Pourquoi utiliser async/await dans les actions de contrôleurs ASP.NET Core ?
Pourquoi utiliser async/await dans les actions de contrôleurs ASP.NET Core ?
Réponse
L'utilisation d'async/await dans les contrôleurs libère les threads du pool de threads pendant les opérations I/O (base de données, API externes). Cela améliore la scalabilité du serveur en permettant au thread de traiter d'autres requêtes pendant l'attente. Sans async, le thread reste bloqué et consomme des ressources inutilement, limitant le nombre de requêtes concurrentes.
2Que se passe-t-il si une action de contrôleur retourne Task<IActionResult> sans utiliser async/await ?
Que se passe-t-il si une action de contrôleur retourne Task<IActionResult> sans utiliser async/await ?
Réponse
Retourner Task<IActionResult> sans async/await fonctionne si on retourne directement une Task existante (return dbContext.SaveChangesAsync();). Cependant, sans le mot-clé async, il est impossible d'utiliser await dans le corps de la méthode. La plupart du temps, utiliser async permet d'attendre plusieurs opérations asynchrones et de gérer les erreurs avec try/catch.
3Quelle est la différence entre ToList() et ToListAsync() dans une action de contrôleur ?
Quelle est la différence entre ToList() et ToListAsync() dans une action de contrôleur ?
Réponse
ToList() est synchrone et bloque le thread pendant la requête base de données, limitant la scalabilité. ToListAsync() est asynchrone et libère le thread pendant l'opération I/O, permettant au serveur de traiter d'autres requêtes. Toujours utiliser ToListAsync() dans les contrôleurs pour maximiser le nombre de requêtes concurrentes supportées.
Quel est le rôle du CancellationToken dans les actions de contrôleurs ?
Comment obtenir le CancellationToken dans une action de contrôleur ASP.NET Core ?
+17 questions d'entretien
Autres sujets d'entretien .NET
Les bases de C#
LINQ & Delegates
Essentiels du langage C#
Fondamentaux ASP.NET Core
Cycle de vie des requêtes ASP.NET Core
Configuration & Settings
Cycle de vie de l'application
Dependency Injection
Entity Framework Core
Minimal APIs
Développement Web API
Authentication & Authorization
HttpClient & Networking
Sérialisation JSON
Entity Framework Core avancé
Fonctionnalités avancées C#
Clean Architecture
Logging, Monitoring & Observability
Tests unitaires & xUnit
Tests d'intégration
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programmation réactive
Async/await & Patterns
.NET Design Patterns
Optimisation des performances
Sécurité & Best Practices
SignalR & Real-time
Architecture Microservices
Maîtrise .NET pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement