jos*_*ley 5 asp.net-mvc ninject
我正在努力使用文档来弄清楚我需要什么.无论如何,文档(据我的理解)是1.5.
注意:我不想扩展NinjectHttpApplication
我已将其配置为在Application_Start()中使用NinejctControllerFactory,但在尝试创建控制器时,我在KernelContainer.Kernel上获得了空引用异常.如果我没有扩展NinjectHttpApplication,我在哪里配置内核?
由于您已经扩展了另一个HttpApplication派生类,我的想法是将相关的源代码从NinjectHttpApplication类复制到扩展的HttpApplication类中.而不是剪切和粘贴,只是看看源为NinjectHttpApplication在Ninject2 Ninject.Web.Mvc扩建工程在这里.
我会专门复制Application_Start()和Application_Stop()方法中的东西.注册控制器的其他方法很不错,但您可以根据需要注册控制器.您将在Application_Start()中注意到,内核是通过调用纯虚函数CreateKernel()创建的 - 您可以直接在那里内联创建内核.另外,请注意NinjectHttpApplication类中是否存在Kernel属性- 我也将其复制到您自己的类中.这里的意图似乎是HttpApplication派生类有效地充当了KernelContainer.
免责声明:我没有试过这个,看看它是否有效,不过我会很快.我在一个网络项目中使用了Ninject 1.x,打算在不久的将来升级到Ninject 2; 但是,我可能能够直接从NinjectHtppApplication派生.祝好运!
看看这篇博文。它应该有助于阐明您需要执行的配置内核的过程。
http://www.kevinrohrbaugh.com/blog/2009/8/7/using-ninject-2-with-aspnet-mvc.html
归档时间: |
|
查看次数: |
2658 次 |
最近记录: |