Imagem de fundo

Uma Secretaria da Fazenda estadual expõe, em ASP.NET Core (.NET 8, Minimal APIs), uma A...

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 FazendaDEContext (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 ICalculosTributoservice como Singleton gerou aumento de memória e conexões abertas ao banco.


Considerando o modelo de injeção de dependência e lifelimes do contêiner padrão do .NET, a combinação de lifetimes que é tecnicamente adequada para esse cenário é registrar FazendaDbContext como


A

scoped e ICalculoTributosBervice como Scoped, configurando o cliente HTTP com AddpgttpClient e injetando HttpClient no serviço.


B

Transient e ICalculoTributoService como Scoped, mantendo um HHpClient estático compartilhado em toda a aplicação.


C

scoped e ICalculoTributoservice como Transient, criando instâncias de HttpClient com new HttpClient () no construtor do serviço.


D

singleton & ICalculeTributoservice como scoped, injetando o contexto singleton em serviços escopados e usando AddHttpClient para o cliente HTTP.


E

Transient é ICalculoTributoservice como Transient, gerando um novo contexto e um novo HttpClient a cada resolução do serviço.