Questão de TI - Desenvolvimento de Sistemas — Framework .NET — FCC 2026
- 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
- AScoped e ICalculoTributoService como Scoped, configurando o cliente HTTP com AddHttpClient e injetando HttpClient no serviço.
- BTransient e ICalculoTributoService como Scoped, mantendo um HttpClient estático compartilhado em toda a aplicação.
- CScoped e ICalculoTributoService como Transient, criando instâncias de HttpClient com new HttpClient() no construtor do serviço.
- D
SingletoneICalculoTributoServicecomoScoped, injetando o contexto singleton em serviços escopados e usandoAddHttpClientpara o cliente HTTP. - ETransient e ICalculoTributoService como Transient, gerando um novo contexto e um novo HttpClient a cada resolução do serviço.