Как разобраться какой сервис с каким жизненным циклом нужно применять?
У меня есть сервисы репозиториев IPersonRepository и т.д. Также контейнер для хранения в памяти всех экземпляров(in-memory container в виде IList).
Также есть сервис который генерирует пин-код и сервис который подсчитывает суму денег на всех аккаунтах пользователя и использует для этого в виде аргумента в конструкторе репозиторий пользователя.
Как определить какой из этих сервисов, какой жизненный цикл будет иметь(Scoped, Singltone или Transient).
Определения для этих циклов я знаю, но какой куда можно или нельзя использовать не разбираюсь.
Если надо чтобы был всегда один экземпляр — singleton.
Если надо чтобы в пределах запроса был один экземпляр (например в случае DbContext в EntityFramework), то Scoped.
В остальных случаях transient.