.NET

Async côté ASP.NET Core

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

20 questions d'entretien·
Confirmé
1

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.

2

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.

3

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.

4

Quel est le rôle du CancellationToken dans les actions de contrôleurs ?

5

Comment obtenir le CancellationToken dans une action de contrôleur ASP.NET Core ?

+17 questions d'entretien

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