Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 26892|Risposta: 0

[.NET Core] ASP.NET Core utilizza Autofac per implementare l'iniezione IOC

[Copiato link]
Pubblicato su 07/05/2019 16:32:23 | | | |
ASP.NET Core dependency injection utilizza il container IOC che lo accompagna
https://www.itsvse.com/thread-7562-1-1.html
(Fonte: Architect_Programmer)

ASP.NET Core utilizza Autofac per implementare l'iniezione IOC
https://www.itsvse.com/thread-7563-1-1.html
(Fonte: Architect_Programmer)

ASP.NET Core utilizza Autofac per implementare l'intercettazione AOP
https://www.itsvse.com/thread-7566-1-1.html
(Fonte: Architect_Programmer)

Il contenitore IOC fornito con ASP.NET Core è leggero e ci sono poche funzioni, ma solo funzioni di base.

Questo articolo utilizzerà Autofac per spiegare sia i costruttori che l'iniezione di attributi.

Autofac è un eccellente container IoC per Microsoft .NET 4.5, Silverlight 5, app Windows Store e app Windows Phone 8. Può gestire le dipendenze tra le classi in modo che l'applicazione possa essere facilmente modificata man mano che crescono la scala e la complessità. Implementa il file .

La versione .NET Core del progetto è: 2.1.301

Installa Autofac.Extensions.DependencyInjection

Installa tramite Nuget con il seguente comando:



Abbiamo scritto 3 interfacce e 3 classi di implementazione in modo informale, come segue:



Iniezione del costruttore del controller

Per prima cosa, modifichiamo il codice ConfigureServices in Avvio come segue:

Nota: Il valore di ritorno di ConfigureServices è stato cambiato in IServiceProvider.

Codice Controller:

Gestisci il progetto come mostrato qui sotto:



Iniezione di attributi Autofac del controller

Modifica il metodo ConfigureServices all'avvio come segue:

Codice Controller:

Gestisci il progetto come mostrato qui sotto:



Punti chiave da notare:

  • servizi. AddMvc(). VersioneSetCompatibility(CompatibilityVersion.Version_2_1).AddControllersAsServices();
  • PubblicoITestService1 _testService1 { get; set; }


Poiché imposto l'interfaccia di servizio su privata all'inizio, l'iniezione è sempre nulla.

Risorse:Il login del link ipertestuale è visibile.




Precedente:ASP.NET Core dependency injection utilizza il container IOC che lo accompagna
Prossimo:ASP.NET Tutorial sull'uso dei log ILogger di base
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com