Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 20328|Odpověď: 0

[WebAPI] V MVC5 a webAPI se používá injekce závislostí Autofac

[Kopírovat odkaz]
Zveřejněno 29.11.2017 14:35:33 | | | |
Mnoho knih zmiňuje koncepty jako dependency injection a control inversion, které jsou všechny zaměřeny na dosažení volně propojených vrstev, komponent a třídních účelů.

Běžné je používat třídu Repository k oddělení přímého spojení mezi řadičem a modelem. Aby bylo možné odpojit úzké spojení mezi třídou Repository a Controllerem, obvykle není přímo definován a instancován třídou Repository, ale je vkládán do specifikovaného Repository pomocí metody konstrukce Controlleru.



Oblíbené IoC kontejnery jsou: Ninject, Autofac, Unity.

Zde je stručné vysvětlení, jak používat Autofac injection MVC5 a Webapi2.

1. Použijte nupkg pro odkazy 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: Pokud používáte webapi2 ve svém projektu, musí to být webapi2 a ne webapi, jinak se během běhu objeví "Rewrite member Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()") porušil pravidla zajištění dědictví. Bezpečnostní přístupnost přepsané metody musí odpovídat bezpečné dostupnosti přepsané metody. Špatně. )



2. Zaregistrujte komponentu.

3. Vytvořit kontejner pro pozdější použití.

var container=builder. build();
4. Vytvořit celoživotní rozsah z kontejneru.

5. Použijte tento Lifetime Scope k analýze instancí komponent.

konfigurace. DependencyResolver = new AutofacWebApiDependencyResolver(container); Pro registraci API kontejneru je potřeba použít objekt HttpConfiguration
DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); Zaregistrujte kontejner MVC
6. V metodě Register třídy WebApiConfig zavolejte výše uvedený krokový kód a předejte objekt HttpConfiguration.



Výhodou autofac je, že jej lze oddělit najednou bez nutnosti konfigurace; AutoFAC lépe realizuje koncept "konvence je větší než konfigurace" v MVC.





Předchozí:asp.net MVC přidává WebAPI řadič
Další:Jak se dobít.
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com