Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 20328|Odpoveď: 0

[WebAPI] V MVC5 a webAPI sa používa závislostná injekcia Autofac

[Kopírovať odkaz]
Zverejnené 29. 11. 2017 14:35:33 | | | |
Mnohé knihy spomínajú koncepty ako injekcia závislostí a inverzia riadenia, ktoré sú všetky zamerané na dosiahnutie voľne prepojených vrstiev, komponentov a triednych účelov.

Bežné je použiť triedu Repository na oddelenie priameho spojenia medzi Controllerom a Modelom. Aby sa odpojilo úzke spojenie medzi triedou Repository a Controllerom, zvyčajne nie je priamo definované a inštanciované triedou Repository, ale je vstreknuté do špecifikovaného Repository prostredníctvom metódy konštrukcie Controlleru.



Populárne IoC kontajnery sú: Ninject, Autofac, Unity.

Tu je stručné vysvetlenie, ako používať Autofac injection MVC5 a Webapi2.

1. Použite nupkg na odkazovanie na Autofac, Autofac.Mvc5 a Autofac.Webapi2

PM> install-package autofac -version 3.5.0

PM> install-package autofac.mvc5

PM> install-package autofac.webapi2 (Poznámka: Ak používate webapi2 vo svojom projekte, musí to byť webapi2 a nie webapi, inak sa počas behu zobrazí "Rewrite member Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()") porušil pravidlá dedičnej bezpečnosti. Bezpečnostná dostupnosť prepísanej metódy musí zodpovedať bezpečnej dostupnosti prepísanej metódy. Nesprávne. )



2. Zaregistrujte komponent.

3. Vytvorte kontajner na neskoršie použitie.

var container=builder. build();
4. Vytvoriť celoživotný rozsah z kontajnera.

5. Použite tento Lifetime Scope na analýzu inštancií komponentov.

konfigurácia. DependencyResolver = nový AutofacWebApiDependencyResolver(container); Na registráciu API kontajnera je potrebné použiť objekt HttpConfiguration
DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); Zaregistrujte MVC kontajner
6. V metóde Register triedy WebApiConfig zavolajte vyššie uvedený krokový kód a zadajte objekt HttpConfiguration.



Výhodou autofac je, že ho možno odpojiť naraz bez potreby konfigurácie; autofac lepšie implementuje koncept "konvencia je väčšia ako konfigurácia" v MVC.





Predchádzajúci:asp.net MVC pridáva WebAPI radič
Budúci:Ako sa nabiť energiou.
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com