.NET

HttpClient & Networking

HttpClient, HttpClientFactory, Request/Response, Fehlerbehandlung, Retry Policies, Async-Patterns

20 Interview-Fragen·
Mid-Level
1

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.

2

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.

3

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.

4

Welche Methode ermöglicht das Lesen des Bodys einer HTTP-Antwort als String?

5

Welche Rolle spielt ein DelegatingHandler in der HttpClient-Pipeline?

+17 Interview-Fragen

Meistere .NET für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten