Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 14932|Odgovoriti: 0

[ASP.NET] asp.net MVC uporablja ninject za implementacijo vbrizgavanja odvisnosti IOC

[Kopiraj povezavo]
Objavljeno na 14. 10. 2016 16:46:57 | | |
Najprej namestite ogrodje Ninject z naslednjim ukazom Nuget:



Ustvarite vmesnik:



Nato implementirajte ta vmesnik:



Ustvarimo mapo z imenom Infrastructure v okviru projekta WebUI, ji dodamo razred tovarne z imenom NinjectControllerFactory, koda pa je naslednja:



ninjectKernel.Get(controllerType) v zgornji kodi lahko dobi instanco Controllerja. Če je ročno instanciranje razreda Controller zelo zapleten proces, ne vemo, ali ima razred Controller konstruktor s parametri ali kakšen tip argumenta konstruktor je. Za uporabo Ninject potrebujete le eno od zgoraj navedenih metod Get, Ninject pa bo samodejno interno obravnaval vse odvisnosti in inteligentno ustvaril potrebne objekte.

Ko je razred Controller Factory ustvarjen, moramo MVC naročiti, naj uporabi naš razred NinjectControllerFactory za ustvarjanje objekta Controller, za to moramo dodati naslednjo kodo v Application_Start metodo datoteke Global.asax:




V mapi controller ustvarimo nov razred z imenom ControllerBase, koda pa je naslednja:



Nato prilagodimo krmilnik, da integrira razred ControllerBase, v redu, končano!






Prejšnji:c# Izračunajte vrednost SHA256 datoteke
Naslednji:Namestitev organizacije procesov VSFTP
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com