Singleton

Significa que apenas uma única instância será criada. Essa instância é compartilhada entre todos os componentes que a possuem como dependência. A mesma instância é, portanto, usada sempre.

Scoped

Significa que a instância será criada uma vez por escopo. Um escopo é criado em cada requisição realizada para o aplicativo. A instância é, portanto, compartilhada entre todos os componentes utilizados no escopo da requisição.

Transient

Significa que a instância será criada toda vez que for solicitada. A instância é, portanto, criada a cada solicitação por componente e nunca é compartilhada.