Pular para o conteúdo principal

Questão de TI - Desenvolvimento de Sistemas — Framework .NET — FCC 2026

TI - Desenvolvimento de SistemasFramework .NET
Código
fc142202
Banca
FCC
Órgão
SEFAZ SP
Ano
2026
Cargo
AFRE ( )

Uma Secretaria da Fazenda estadual expõe, em ASP.NET Core (.NET 8, Minimal APIs), uma API para cálculo de ICMS sobre fretes interestaduais. O serviço ICalculoTributoService utiliza FazendaDbContext (EF Core) para persistência e um cliente HTTP para consultar tabelas de alíquotas interestaduais via serviço externo. Em testes de carga, o uso de FazendaDbContext e ICalculoTributoService como Singleton gerou aumento de memória e conexões abertas ao banco. Considerando o modelo de injeção de dependência e lifetimes do contêiner padrão do .NET, a combinação de lifetimes que é tecnicamente adequada para esse cenário é registrar FazendaDbContext como

  1. AScoped e ICalculoTributoService como Scoped, configurando o cliente HTTP com AddHttpClient e injetando HttpClient no serviço.
  2. BTransient e ICalculoTributoService como Scoped, mantendo um HttpClient estático compartilhado em toda a aplicação.
  3. CScoped e ICalculoTributoService como Transient, criando instâncias de HttpClient com new HttpClient() no construtor do serviço.
  4. DSingleton e ICalculoTributoService como Scoped, injetando o contexto singleton em serviços escopados e usando AddHttpClient para o cliente HTTP.
  5. ETransient e ICalculoTributoService como Transient, gerando um novo contexto e um novo HttpClient a cada resolução do serviço.
Revelar gabarito e comentário

GabaritoA — Scoped e ICalculoTributoService como Scoped, configurando o cliente HTTP com AddHttpClient e injetando HttpClient no serviço.

Link permanente: /questoes/fc142202