
HttpClient & Networking
HttpClient, HttpClientFactory, Request/Response, Fehlerbehandlung, Retry Policies, Async-Patterns
1Warum sollte man IHttpClientFactory verwenden, statt HttpClient direkt zu instanziieren?
Warum sollte man IHttpClientFactory verwenden, statt HttpClient direkt zu instanziieren?
Antwort
IHttpClientFactory verwaltet den Lebenszyklus von HttpClient-Instanzen automatisch und verhindert Socket Exhaustion. Das direkte Instanziieren von HttpClient in einem using-Block kann Verbindungsprobleme im TIME_WAIT-Zustand verursachen, die selbst nach dem Disposal offen bleiben. Die Verwendung von IHttpClientFactory ermöglicht außerdem das Konfigurieren von Resilienz-Policies mit Polly und das effiziente Verwalten des Connection Poolings.
2Was ist der Hauptunterschied zwischen einem Named Client und einem Typed Client?
Was ist der Hauptunterschied zwischen einem Named Client und einem Typed Client?
Antwort
Ein Typed Client kapselt die HTTP-Aufruflogik in einer dedizierten Klasse mit Dependency Injection, während ein Named Client über IHttpClientFactory.CreateClient(name) abgerufen wird. Typed Clients bieten eine bessere Trennung der Zuständigkeiten und erleichtern Unit-Tests, indem sie Konfiguration und Geschäftslogik kapseln. Named Clients sind nützlich für einfache Fälle, in denen mehrere unterschiedliche Konfigurationen ohne komplexe Geschäftslogik benötigt werden.
3Wie konfiguriert man ein globales Timeout für alle HttpClient-Instanzen einer Anwendung?
Wie konfiguriert man ein globales Timeout für alle HttpClient-Instanzen einer Anwendung?
Antwort
Das Konfigurieren des Timeouts über ConfigurePrimaryHttpMessageHandler ermöglicht die Definition eines Timeouts auf Handler-Ebene, das für alle von der Factory erstellten Clients gilt. Dieser Ansatz zentralisiert die Konfiguration und vermeidet Code-Wiederholungen. Es ist auch möglich, das Timeout individuell für jeden HttpClient zu konfigurieren, aber das wird in einer großen Anwendung mit mehreren konfigurierten Clients schwer wartbar.
Welche Methode ermöglicht das Lesen des Bodys einer HTTP-Antwort als String?
Welche Rolle spielt ein DelegatingHandler in der HttpClient-Pipeline?
+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
Async in ASP.NET Core
Authentication & Authorization
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