IOC kontejner, který je součástí ASP.NET Core, je lehký a nemá mnoho funkcí, ale pouze základní funkce.
Tento článek použije Autofac k vysvětlení jak konstruktorů, tak injekce atributů.
Autofac je skvělý IoC kontejner pro Microsoft .NET 4.5, Silverlight 5, aplikace Windows Store a Windows Phone 8. Dokáže spravovat závislosti mezi třídami tak, aby aplikace mohla být snadno upravována podle růstu rozsahu a složitosti. Implementujte . Verze projektu pro .NET Core je: 2.1.301
Install Autofac.Extensions.DependencyInjection
Instalujte pomocí nugetu pomocí následujícího příkazu:
Napsali jsme 3 rozhraní a 3 implementační třídy neformálně, a to následovně:
Injekce konstruktorů regulátorů
Nejprve upravme kód ConfigureServices ve Startupu následovně:
Poznámka: Návratová hodnota ConfigurServices byla změněna na IServiceProvider.
Kód ovladače:
Proveďte projekt tak, jak je uvedeno níže:
Controller Autofac atributová injekce
Modifikujte metodu ConfigureServices ve Startu následovně:
Kód ovladače:
Proveďte projekt tak, jak je uvedeno níže:
Klíčové body, které je třeba zmínit:
- Služby. AddMvc(). SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddControllersAsServices();
- VeřejnéITestService1 _testService1 { get; set; }
Protože jsem na začátku nastavil rozhraní služby na soukromé, injekce je vždy nulová.
Prostředky:Přihlášení k hypertextovému odkazu je viditelné.
|