Wiki
Clone wikiASP.NET Web API / Wstrzykiwanie zależności (dependency injection)
CoGotujo.pl - ASP.NET Core
Wstrzykiwanie zależności (dependency injection)
Wstrzykiwanie zależności w .NET Core można zrobić wbudowanym mechanizmem.
- Należy przejść do WebApplicationMVC/Startup.cs
- Tam w metodzie
public void ConfigureServices(IServiceCollection services)
należy dodaćservices.AddScoped<IMyDependency, MyDependency>();
lubservices.AddTransient<IMyDependency, MyDependency>();
, gdzie IMyDependency jest interfejsem, który jest przyjmowany jako argument np. w kontrolerach, a MyDependency jest konkretną implementacją, która będzie wstrzykiwana w miejsce interfejsu.
AddScoped
i AddTransient
różnią się cyklem życia:
-
Transient - obiekt jest tworzony za każdym razem, gdy występuje o to żądanie. To najlepiej się sprawdza dla lekkich, bezstanowych serwisów.
-
Scoped - obiekty tworzone są tworzone tylko raz.
Źródła:
Updated