Сам ASP.NET Ядро имеет встроенный легкий контейнер МОК

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 Жизненный цикл: Запрос - (ГХ рециркуляция - высвобождение активного) приобрел объект каждый раз, когда это не то же самое

рекомендация

отwww.cnblogs.com/sylone/p/10949272.html