D’abord, installez le framework Ninject avec la commande Nuget suivante :
Créez une interface :
Puis implémentez cette interface :
Nous créons un dossier appelé Infrastructure dans le cadre du projet WebUI, y ajoutons une classe usine appelée NinjectControllerFactory, dont le code est le suivant :
ninjectKernel.Get(controllerType) dans le code ci-dessus peut obtenir une instance Controller. Si instancier manuellement la classe Controller est un processus très compliqué, nous ne savons pas si la classe Controller possède un constructeur avec des paramètres, ni quel type d’argument il s’agit. Pour utiliser Ninject, il suffit d’utiliser l’une des méthodes Get ci-dessus, et Ninject gère automatiquement toutes les dépendances en interne et crée intelligemment les objets dont nous avons besoin.
Une fois la classe Controller Factory créée, nous devons dire à MVC d’utiliser notre classe NinjectControllerFactory pour créer l’objet Controller ; pour cela, nous devons ajouter le code suivant à la méthode Application_Start du fichier Global.asax :
Nous créons une nouvelle classe appelée ControllerBase dans le dossier contrôleur, et le code est le suivant :
Ensuite, nous modifions le contrôleur pour intégrer la classe ControllerBase, ok, c’est fait !
|