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

Pohľad: 14932|Odpoveď: 0

[ASP.NET] asp.net MVC používa ninject na implementáciu IOC dependency injection

[Kopírovať odkaz]
Zverejnené 14. 10. 2016 16:46:57 | | |
Najprv nainštalujte framework Ninject pomocou nasledujúceho príkazu Nuget:



Vytvorte si rozhranie:



Potom implementujte toto rozhranie:



Vytvoríme priečinok s názvom Infrastructure v rámci projektu WebUI, pridáme do neho triedu továrne s názvom NinjectControllerFactory, kód je nasledovný:



ninjectKernel.Get(controllerType) v uvedenom kóde môže získať inštanciu Controller. Ak je manuálne inštancovanie triedy Controller veľmi zložitý proces, nevieme, či trieda Controller má konštruktor s parametrami, alebo aký typ argumentu konštruktor je. Na použitie Ninject stačí použiť jednu z vyššie uvedených metód Get a Ninject automaticky spracuje všetky závislosti interne a inteligentne vytvorí objekty, ktoré potrebujeme.

Keď je trieda Controller Factory vytvorená, musíme povedať MVC, aby použil našu triedu NinjectControllerFactory na vytvorenie objektu Controller, na čo musíme pridať nasledujúci kód do Application_Start metódy súboru Global.asax:




Vytvoríme novú triedu nazvanú ControllerBase v priečinku controller a kód je nasledovný:



Potom upravíme kontrolér tak, aby integroval triedu ControllerBase, ok, hotovo!






Predchádzajúci:c# Vypočítajte hodnotu SHA256 súboru
Budúci:Inštalácia organizácie procesov VSFTP
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