1
resposta

[Dúvida] Porque foi usado o AddTransient e não o AddScoped?

Porque foi usado o AddTransient e não o AddScoped?

1 resposta

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.