
HttpClient & Networking
HttpClient, HttpClientFactory, request/response, error handling, retry policies, async patterns
1Pourquoi utiliser IHttpClientFactory au lieu d'instancier HttpClient directement ?
Pourquoi utiliser IHttpClientFactory au lieu d'instancier HttpClient directement ?
Réponse
IHttpClientFactory gère automatiquement le cycle de vie des HttpClient et évite l'épuisement des sockets (socket exhaustion). Instancier HttpClient directement dans un using peut causer des problèmes de connexions en état TIME_WAIT qui restent ouvertes même après disposal. L'utilisation d'IHttpClientFactory permet également de configurer des politiques de résilience avec Polly et de gérer efficacement le pooling des connexions.
2Quelle est la différence principale entre un Named Client et un Typed Client ?
Quelle est la différence principale entre un Named Client et un Typed Client ?
Réponse
Un Typed Client encapsule la logique d'appel HTTP dans une classe dédiée avec injection de dépendances, tandis qu'un Named Client est récupéré via IHttpClientFactory.CreateClient(name). Les Typed Clients offrent une meilleure séparation des préoccupations et facilitent les tests unitaires en encapsulant la configuration et la logique métier. Les Named Clients sont utiles pour des cas simples où plusieurs configurations différentes sont nécessaires sans logique métier complexe.
3Comment configurer un timeout global pour tous les HttpClient d'une application ?
Comment configurer un timeout global pour tous les HttpClient d'une application ?
Réponse
Configurer le timeout via ConfigurePrimaryHttpMessageHandler permet de définir un timeout au niveau du handler qui s'appliquera à tous les clients créés par la factory. Cette approche centralise la configuration et évite de répéter le code. Il est également possible de configurer le timeout individuellement sur chaque HttpClient, mais cela devient difficile à maintenir dans une grande application avec plusieurs clients configurés.
Quelle méthode permet de lire le corps d'une réponse HTTP sous forme de chaîne de caractères ?
Quel est le rôle d'un DelegatingHandler dans le pipeline HttpClient ?
+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
Async côté ASP.NET Core
Authentication & Authorization
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