В отличие от компонентов middleware, которые создаются один раз при запуске приложения, зависимости (сервисы) могут иметь различные жизненные циклы. В этой части мы более подробно остановимся на том, что из себя представляет жизненный цикл зависимостей в ASP.NET Core Web API и чем один жизненный цикл отличается от другого.
Dependency Injection
ASP.NET Core Web API. Способы получения сервисов
Разработанные нами сервисы можно запрашивать различными способами. До сих пор, во всех предыдущих примерах, использовался только один из способов получения сервиса — через конструктор класса, в котором планируется использование сервиса. В этой части рассмотрим все доступные способы получения сервисов в ASP.NET Core Web API.
ASP.NET Core Web API. Создание и регистрация сервисов
Чаще всего, в качестве типа сервиса выступает какой-либо интерфейс, однако, это обстоятельство не является обязательным — в качестве сервиса может выступать и обычных класс. Рассмотрим возможные варианты создания сервисов и их регистрации в контейнере DI
ASP.NET Core Web API. Dependency Injection
Dependency Injection или внедрение зависимостей — это встроенная часть платформы .NET, которая позволяет сделать взаимодействующие в приложении объекты слабосвязанными. Обычно, такие объекты связываются через абстракции (чаще всего — интерфейсы). Dependency Injection является одним из основных механизмов расширения возможностей вашего приложения ASP.NET Core.