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: 14932|Odpověď: 0

[ASP.NET] asp.net MVC používá ninject k implementaci IOC dependency injection

[Kopírovat odkaz]
Zveřejněno 14.10.2016 16:46:57 | | |
Nejprve nainstalujte framework Ninject pomocí následujícího příkazu Nuget:



Vytvořte rozhraní:



Poté implementujte toto rozhraní:



Vytvořili jsme složku nazvanou Infrastructure v rámci projektu WebUI, přidali jsme tovární třídu nazvanou NinjectControllerFactory, kód byl následující:



ninjectKernel.Get(controllerType) v uvedeném kódu může získat instanci Controlleru. Pokud je ruční instancování třídy Controller velmi složitý proces, nevíme, zda třída Controller má konstruktor s parametry, nebo jaký typ argumentu konstruktor je. Pro použití Ninject stačí použít jednu z výše uvedených metod Get a Ninject automaticky interně zvládne všechny závislosti a inteligentně vytvoří objekty, které potřebujeme.

Jakmile je třída Controller Factory vytvořena, musíme MVC říct, aby použil naši třídu NinjectControllerFactory k vytvoření objektu Controller, k tomu musíme přidat následující kód do Application_Start metody souboru Global.asax:




Vytvoříme novou třídu nazvanou ControllerBase ve složce controller a kód je následující:



Pak upravíme řadič, aby integroval třídu ControllerBase, dobře, hotovo!






Předchozí:c# Vypočítejte hodnotu souboru SHA256
Další:Instalace organizace procesů VSFTP
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