
HttpClient & Networking
HttpClient, HttpClientFactory, request/response, gestione errori, retry policies, pattern async
1Perché usare IHttpClientFactory invece di istanziare HttpClient direttamente?
Perché usare IHttpClientFactory invece di istanziare HttpClient direttamente?
Risposta
IHttpClientFactory gestisce automaticamente il ciclo di vita delle istanze HttpClient e previene il socket exhaustion. Istanziare HttpClient direttamente in un using può causare problemi di connessioni nello stato TIME_WAIT che rimangono aperte anche dopo il disposal. L'uso di IHttpClientFactory consente inoltre di configurare politiche di resilienza con Polly e di gestire efficacemente il pooling delle connessioni.
2Qual è la differenza principale tra un Named Client e un Typed Client?
Qual è la differenza principale tra un Named Client e un Typed Client?
Risposta
Un Typed Client incapsula la logica delle chiamate HTTP in una classe dedicata con dependency injection, mentre un Named Client viene recuperato tramite IHttpClientFactory.CreateClient(name). I Typed Client offrono una migliore separazione delle responsabilità e facilitano i test unitari incapsulando configurazione e logica di business. I Named Client sono utili per casi semplici in cui sono necessarie più configurazioni diverse senza logica di business complessa.
3Come configurare un timeout globale per tutte le istanze HttpClient di un'applicazione?
Come configurare un timeout globale per tutte le istanze HttpClient di un'applicazione?
Risposta
Configurare il timeout tramite ConfigurePrimaryHttpMessageHandler consente di definire un timeout a livello di handler che si applicherà a tutti i client creati dalla factory. Questo approccio centralizza la configurazione ed evita la ripetizione del codice. È anche possibile configurare il timeout individualmente su ciascun HttpClient, ma diventa difficile da mantenere in un'applicazione grande con più client configurati.
Quale metodo consente di leggere il corpo di una risposta HTTP come stringa?
Qual è il ruolo di un DelegatingHandler nella pipeline di HttpClient?
+17 domande da colloquio
Altri argomenti di colloquio .NET
Fondamenti di C#
LINQ & Delegates
Fondamenti del linguaggio C#
Fondamenti di ASP.NET Core
Ciclo di vita delle richieste in ASP.NET Core
Configuration & Settings
Ciclo di vita dell'applicazione
Dependency Injection
Entity Framework Core
Minimal APIs
Sviluppo di Web API
Async in ASP.NET Core
Authentication & Authorization
Serializzazione JSON
Entity Framework Core avanzato
Funzionalità avanzate di C#
Clean Architecture
Logging, Monitoring & Observability
Test unitari & xUnit
Test di integrazione
Docker & Containerization
Gestione dei pacchetti NuGet
Memory Management & GC
Programmazione reattiva
Async/await & Pattern
.NET Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e Best Practices
SignalR e tempo reale
Architettura a Microservizi
Padroneggia .NET per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis