1, services.AddTransient <IApplicationService, ApplicationService> // услуги создаются при каждом запросе , то лучше всего использовать для облегченных лиц без услуг (таких , как наш ApplicationService и Repository Services)
2, services.AddScoped <IApplicationService, ApplicationService> // сервис каждый запрос создается через весь жизненный цикл раз Запроса
3, services.AddSingleton <IApplicationService, ApplicationService> // Singleton ( синглтон) запрос на обслуживание создаются в первый раз (или когда мы создаем экземпляр , указанный в ConfigureServices и способе работы) каждый последующий запрос следить за службой было создано . Если разработчик приложения должен одноплодный сценарий обслуживания, пожалуйста , чтобы позволить контейнеру управлять услугами жизненного цикла обслуживания, а не реализовано вручную шаблон одноплодного дизайна затем работают разработчик в пользовательском классе.
Вес:
AddSingleton → AddTransient → AddScoped
1, AddSingleton жизненный цикл: старт проекта - проект закрыт будет только эквивалент статического класса
2, AddScoped жизненный цикл: запрос на запуск - конец запроса в запросе, чтобы получить объекты одинаковы
3, AddTransient Жизненный цикл: Запрос - (ГХ рециркуляция - высвобождение активного) приобрел объект каждый раз, когда это не то же самое