Porque foi usado o AddTransient e não o AddScoped?
Porque foi usado o AddTransient e não o AddScoped?
Oi Jonathan, tudo bem?
No contexto de configuração de serviços, essa escolha depende do ciclo de vida desejado para o serviço em sí.
Padrão Transient
Um serviço configurado como Transient é criado cada vez que é solicitado. Isso significa que a cada vez que a classe dependente é instanciada, uma nova instância do serviço Transient é fornecida. Após o uso, a instância é descartada da memória da aplicação.
Quando usar Transient:
Utilize Transient quando a classe não precisa manter estado entre diferentes solicitações.
Ideal para classes que realizam operações leves e de curta duração, como métodos de cálculo ou utilitários de formatação.
Padrão Scoped
Um serviço configurado como Scoped é criado uma vez por solicitação. Isso significa que ele é mantido enquanto o escopo da solicitação está ativo, abrangendo todas as classes e operações que fazem parte da mesma solicitação.
Quando usar Scoped:
Utilize Scoped quando o serviço precisa manter estado durante a execução de uma solicitação específica.
Ideal para classes que mantêm dados temporários necessários para o processamento de uma solicitação completa, como dados de sessão ou contexto de transação.
Existem diversos outros padrões que oferecem opções uteis para outros cenários que cobrem necessidades específicas de estado e duração das suas operações. Utilizar o padrão adequado garantirá a eficiência e a consistência da sua aplicação.