Puisque vous étendons déjà une autre classe HttpApplication dérivée, mes pensées sont juste copier le code source correspondant de la classe NinjectHttpApplication dans votre classe HttpApplication étendue. Plutôt que de couper et coller, il suffit de regarder le source pour NinjectHttpApplication dans le projet d'extension Ninject2 Ninject.Web.Mvc here.
Je copier spécifiquement la substance dans Application_Start() et Application_Stop() méthodes. Les autres méthodes d'enregistrement des contrôleurs sont sympas, mais vous pouvez enregistrer vos contrôleurs comme vous le souhaitez. Vous remarquerez dans le Application_Start(), le noyau est créé en appelant la fonction virtuelle pure CreateKernel() - vous pouvez simplement créer votre noyau en ligne ici. De plus, notez la présence de la propriété Kernel sur la classe NinjectHttpApplication - Je la copierais également dans votre propre classe. Il semblerait que l'intention ici est que la classe dérivée de HttpApplication serve effectivement de KernelContainer. Clause de non-responsabilité: Je n'ai pas essayé de voir si cela fonctionne, mais je serai bientôt. J'ai utilisé Ninject 1.x dans un projet web et j'ai l'intention de passer à Ninject 2 dans un proche avenir; Cependant, je serai probablement capable de dériver directement de NinjectHtppApplication. Bonne chance!
Quelle est la raison pour laquelle vous ne voulez pas étendre NinjectHttpApplication? –
Je suis déjà étendre une autre coutume HttpApplication – joshcomley