Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 27629|Răspunde: 0

[.NET Core] ASP.NET Core folosește Autofac pentru a implementa injectarea IOC

[Copiază linkul]
Postat pe 07.05.2019 16:32:23 | | | |
ASP.NET Core dependency injection folosește containerul IOC care vine cu ea
https://www.itsvse.com/thread-7562-1-1.html
(Sursa: Architect_Programmer)

ASP.NET Core folosește Autofac pentru a implementa injectarea IOC
https://www.itsvse.com/thread-7563-1-1.html
(Sursa: Architect_Programmer)

ASP.NET Core folosește Autofac pentru a implementa interceptarea AOP
https://www.itsvse.com/thread-7566-1-1.html
(Sursa: Architect_Programmer)

Containerul IOC care vine cu ASP.NET Core este ușor și nu are multe funcții, ci doar funcții de bază.

Acest articol va folosi Autofac pentru a explica atât constructorii, cât și injectarea de atribute.

Autofac este un container IoC excelent pentru Microsoft .NET 4.5, Silverlight 5, aplicații din Windows Store și Windows Phone 8. Poate gestiona dependențele dintre clase astfel încât aplicația să poată fi modificată ușor pe măsură ce scala și complexitatea cresc. Implementează .

Versiunea .NET Core a proiectului este: 2.1.301

Instalează Autofac.Extensions.DependencyInjection

Instalează prin nuget cu următoarea comandă:



Am scris 3 interfețe și 3 clase de implementare în mod casual, după cum urmează:



Injecția constructorului controlerului

Mai întâi, să modificăm codul ConfigureServices la pornire astfel:

Notă: Valoarea returnată a ConfigureServices a fost schimbată în IServiceProvider.

Cod controler:

Rulează proiectul așa cum este prezentat mai jos:



Injectarea de atribute Autofac a controlerului

Modifică metoda ConfigureServices în Pornire astfel:

Cod controler:

Rulează proiectul așa cum este prezentat mai jos:



Puncte cheie de remarcat:

  • servicii. AddMvc(). SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddControllersAsServices();
  • PublicITestService1 _testService1 { get; set; }


Pentru că am setat interfața de serviciu pe privată la început, injecția este întotdeauna nulă.

Resurse:Autentificarea cu hyperlink este vizibilă.




Precedent:ASP.NET Core dependency injection folosește containerul IOC care vine cu ea
Următor:ASP.NET Tutorial de utilizare a jurnalului de bază ILogger
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com