Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 20328|Antwoord: 0

[WebAPI] In MVC5 en webAPI wordt Autofac-afhankelijkheidsinjectie gebruikt

[Link kopiëren]
Geplaatst op 29-11-2017 14:35:33 | | | |
Veel boeken noemen concepten zoals afhankelijkheidsinjectie en controle-inversion, die allemaal gericht zijn op het bereiken van losjes gekoppelde lagen, componenten en klassedoeleinden.

Het is gebruikelijk om de Repository-klasse te gebruiken om de directe verbinding tussen de Controller en het Model te scheiden. Om de nauwe verbinding tussen de Repository-klasse en de Controller te verbreken, wordt deze meestal niet direct gedefinieerd en geïnstantieerd door de Repository-klasse, maar geïnjecteerd in de gespecificeerde Repository via de constructiemethode van de Controller.



Populaire IoC-containers zijn: Ninject, Autofac, Unity.

Hier volgt een korte uitleg over hoe je Autofac-injectie MVC5 en Webapi2 gebruikt.

1. Gebruik nupkg om Autofac, Autofac.Mvc5 en Autofac.Webapi2 te refereren

PM> install-package autofac -versie 3.5.0

PM> install-package autofac.mvc5

PM> install-package autofac.webapi2 (Opmerking: Als je webapi2 in je project gebruikt, moet het webapi2 zijn en niet webapi, anders verschijnt "Rewrite member Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()" tijdens runtime) de regels voor erfenisbeveiliging hebben overtreden. De beveiligingstoegankelijkheid van de overschreven methode moet overeenkomen met de veilige toegankelijkheid van de herschreven methode. Fout. )



2. Registreer het component.

3. Maak een container aan voor later gebruik.

var container=bouwer. Build();
4. Creëer een levenslange scope vanuit de container.

5. Gebruik deze Lifetime Scope om instanties van componenten te analyseren.

configuratie. DependencyResolver = nieuwe AutofacWebApiDependencyResolver(container); Om een API-container te registreren, moet je het HttpConfiguration-object gebruiken
DependencyResolver.SetResolver(nieuwe AutofacDependencyResolver(container)); Registreer de MVC-container
6. In de Register-methode van de WebApiConfig-klasse roep je de bovenstaande stapcode aan en geef je het HttpConfiguration-object door.



Het voordeel van autofac is dat het op één moment kan worden losgekoppeld zonder configuratie; autofac implementeert het concept "conventie is groter dan configuratie" beter in MVC.





Vorig:asp.net voegt MVC een WebAPI-controller toe
Volgend:Hoe je kunt opladen.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com