Wiki

Clone wiki

ASP.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.

  1. Należy przejść do WebApplicationMVC/Startup.cs
  2. Tam w metodzie public void ConfigureServices(IServiceCollection services) należy dodać services.AddScoped<IMyDependency, MyDependency>(); lub services.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:

  1. Dokumentacja Microsoftu

Strona główna

Updated