Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 26892|Odpowiedź: 0

[.NET Core] ASP.NET Core wykorzystuje Autofac do implementacji wstrzyknięcia IOC

[Skopiuj link]
Opublikowano 07.05.2019 16:32:23 | | | |
ASP.NET Core dependency injection wykorzystuje dołączony kontener IOC
https://www.itsvse.com/thread-7562-1-1.html
(Źródło: Architect_Programmer)

ASP.NET Core wykorzystuje Autofac do implementacji wstrzyknięcia IOC
https://www.itsvse.com/thread-7563-1-1.html
(Źródło: Architect_Programmer)

ASP.NET Core wykorzystuje Autofac do implementacji przechwytywania AOP
https://www.itsvse.com/thread-7566-1-1.html
(Źródło: Architect_Programmer)

Kontener IOC dołączony do ASP.NET Core jest lekki i nie ma wielu funkcji, a jedynie podstawowe funkcje.

W tym artykule wykorzystamy Autofac do wyjaśnienia zarówno konstruktorów, jak i wstrzyknięcia atrybutów.

Autofac to świetny kontener IoC dla Microsoft .NET 4.5, Silverlight 5, aplikacji ze sklepu Windows oraz Windows Phone 8. Może zarządzać zależnościami między klasami, dzięki czemu aplikacja może być łatwo modyfikowana wraz ze wzrostem skali i złożoności. Zaimplementuj .

Wersja .NET Core projektu to: 2.1.301

Install Autofac.Extensions.DependencyInjection

Instaluj za pomocą nugeta za pomocą następującego polecenia:



Napisaliśmy 3 interfejsy i 3 klasy implementacyjne swobodnie, w następujący sposób:



Wstrzyknięcie konstruktorów kontrolerów

Najpierw zmodyfikujmy kod ConfigureServices w Startup w następujący sposób:

Uwaga: Wartość zwrotu ConfigurServices została zmieniona na IServiceProvider.

Kod kontrolera:

Prowadź projekt zgodnie z poniższymi wskazówkami:



Wstrzyknięcie atrybutów kontrolera Autofac

Zmodyfikuj metodę ConkonfigurServicess w Startup w następujący sposób:

Kod kontrolera:

Prowadź projekt zgodnie z poniższymi wskazówkami:



Kluczowe punkty do zwrócenia uwagi:

  • usługi. AddMvc(). SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddControllersAsServices();
  • PublicznośćITestService1 _testService1 { get; set; }


Ponieważ na początku ustawiam interfejs serwisu na prywatny, wstrzyknięcie jest zawsze zerowe.

Zasoby:Logowanie do linku jest widoczne.




Poprzedni:ASP.NET Core dependency injection wykorzystuje dołączony kontener IOC
Następny:ASP.NET Tutorial dotyczący korzystania logów ILogger w rdzeniu
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com