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: 20328|Răspunde: 0

[WebAPI] În MVC5 și webAPI, se folosește injecția de dependență Autofac

[Copiază linkul]
Postat pe 29.11.2017 14:35:33 | | | |
Multe cărți menționează concepte precum injectarea dependențelor și inversiunea de control, toate având ca scop realizarea unor straturi, componente și scopuri de clasă cuplate slab.

Este obișnuit să se folosească clasa Repository pentru a separa conexiunea directă dintre Controler și Model. Pentru a deconecta conexiunea strânsă dintre clasa Repository și Controller, aceasta de obicei nu este definită și instanțiată direct de clasa Repository, ci injectată în Repository-ul specificat prin metoda de construcție a Controller-ului.



Containerele IoC populare sunt: Ninject, Autofac, Unity.

Iată o scurtă explicație despre cum să folosești injecția Autofac MVC5 și Webapi2.

1. Folosiți nupkg pentru a face referire la Autofac, Autofac.Mvc5 și Autofac.Webapi2

PM> install-package autofac -versiunea 3.5.0

PM> install-package autofac.mvc5

PM> install-package autofac.webapi2 (Notă: Dacă folosești webapi2 în proiectul tău, trebuie să fie webapi2 și nu webapi aici, altfel "Rewrite member Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()" va apărea la rulare) A încălcat regulile privind securitatea moștenirii. Accesibilitatea de securitate a metodei suprascrise trebuie să corespundă accesibilității securizate a metodei rescrise. Greșit. )



2. Înregistrează componenta.

3. Creează un container pentru utilizare ulterioară.

var container=builder. Build();
4. Creează un scop pe viață din Container.

5. Folosiți acest scop de viață pentru a analiza instanțele componentelor.

Configurație. DependencyResolver = new AutofacWebApiDependencyResolver(container); Pentru a înregistra un container API, trebuie să folosești obiectul HttpConfiguration
DependencyResolver.SetResolver(noul AutofacDependencyResolver(container)); Înregistrează containerul MVC
6. În metoda Register a clasei WebApiConfig, apelați codul de pas de mai sus și transmiteți obiectul HttpConfiguration.



Avantajul autofac-ului este că poate fi decuplat simultan, fără a fi nevoie de configurare; autofac implementează mai bine conceptul "convenția este mai mare decât configurația" în MVC.





Precedent:asp.net MVC adaugă un controler WebAPI
Următor:Cum să te reîncarci.
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