В .NET Core существует три разных срока службы, которые можно использовать: Transient
, Scoped
и Singleton
.Срок службы в цепной инъекции для зависимостей
Давайте предположим, что у меня есть следующая цепь depencency-впрыскивается услуг:
Service A
>Service B
>Service C
,
означает, что Service A
имеет Service B
впрыскивается (например Service A
зависит от Service B
) и Service B
имеет Service C
впрыскивается.
Теперь рассмотрим Service B
имея Singleton
жизни, и Service C
имея Transient
жизни. Потому что Service B
является Singleton
, он создается только один раз. Service C
- Transient
, а потому, что Service B
- это Singleton
, Service C
все еще только один раз.
Является ли эта аргументация правильной, и, таким образом, срок службы Transient
, установленный для Service C
, не имеет смысла? Или я ошибаюсь здесь?
Я вижу, спасибо за ваши объяснения! – Froodooo