
HttpClient & Networking
HttpClient, HttpClientFactory, request/response, tratamento de erros, retry policies, padrões async
1Por que usar IHttpClientFactory em vez de instanciar HttpClient diretamente?
Por que usar IHttpClientFactory em vez de instanciar HttpClient diretamente?
Resposta
O IHttpClientFactory gerencia automaticamente o ciclo de vida das instâncias de HttpClient e evita o socket exhaustion. Instanciar HttpClient diretamente em um using pode causar problemas de conexões no estado TIME_WAIT que permanecem abertas mesmo após o disposal. Usar IHttpClientFactory também permite configurar políticas de resiliência com Polly e gerenciar eficientemente o pooling de conexões.
2Qual é a principal diferença entre um Named Client e um Typed Client?
Qual é a principal diferença entre um Named Client e um Typed Client?
Resposta
Um Typed Client encapsula a lógica de chamada HTTP em uma classe dedicada com injeção de dependências, enquanto um Named Client é obtido via IHttpClientFactory.CreateClient(name). Os Typed Clients oferecem melhor separação de responsabilidades e facilitam os testes unitários ao encapsular a configuração e a lógica de negócio. Os Named Clients são úteis para casos simples onde várias configurações diferentes são necessárias sem lógica de negócio complexa.
3Como configurar um timeout global para todas as instâncias de HttpClient de uma aplicação?
Como configurar um timeout global para todas as instâncias de HttpClient de uma aplicação?
Resposta
Configurar o timeout via ConfigurePrimaryHttpMessageHandler permite definir um timeout no nível do handler que será aplicado a todos os clientes criados pela factory. Essa abordagem centraliza a configuração e evita repetição de código. Também é possível configurar o timeout individualmente em cada HttpClient, mas isso se torna difícil de manter em uma aplicação grande com vários clientes configurados.
Qual método permite ler o corpo de uma resposta HTTP como uma string?
Qual é o papel de um DelegatingHandler no pipeline do HttpClient?
+17 perguntas de entrevista
Outros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos da linguagem C#
Fundamentos do ASP.NET Core
Ciclo de vida das requisições no ASP.NET Core
Configuration & Settings
Ciclo de vida da aplicação
Dependency Injection
Entity Framework Core
Minimal APIs
Desenvolvimento de Web API
Async no ASP.NET Core
Authentication & Authorization
Serialização JSON
Entity Framework Core avançado
Recursos avançados do C#
Clean Architecture
Logging, Monitoring & Observability
Testes unitários e xUnit
Testes de integração
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programação reativa
Async/await & Patterns
.NET Design Patterns
Otimização de desempenho
Segurança e Best Practices
SignalR e tempo real
Arquitetura de Microsserviços
Domine .NET para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis