Puesto que ya está extendiendo otra clase HttpApplication de origen, mis pensamientos son simplemente copiar el código fuente relevante de la clase NinjectHttpApplication en su clase extendida HttpApplication. En lugar de cortarlo y pegarlo, solo mire source para NinjectHttpApplication en el proyecto de extensión Ninject2 Ninject.Web.Mvc here.
Me gustaría copiar específicamente la materia en Application_Start() y Application_Stop() métodos. Los otros métodos para registrar controladores son agradables, pero puede registrar sus controladores como lo desee. Notarás en el Application_Start(), el kernel se crea llamando a la función virtual pura CreateKernel() - puedes simplemente crear tu kernel en línea allí mismo. Además, tenga en cuenta la presencia de la propiedad Kernel en la clase NinjectHttpApplication - Copiaría eso en su propia clase también. Parece que la intención aquí es que la clase HttpApplication-derived funciona efectivamente como KernelContainer.
Descargo de responsabilidad: No he intentado esto para ver si funciona, aunque lo haré en breve. He usado Ninject 1.x en un proyecto web y tengo la intención de actualizar a Ninject 2 en el futuro cercano; sin embargo, probablemente pueda derivar directamente de NinjectHtppApplication. ¡Buena suerte!
¿Cuál es la razón por la que no desea extender NinjectHttpApplication? –
Ya estoy extendiendo otra aplicación Http personalizada – joshcomley