FairyFox5700
@FairyFox5700

Как разобраться какой сервис с каким жизненным циклом нужно применять?

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

Войдите, чтобы написать ответ

Похожие вопросы