我已经在 ASP.NET 4.0 项目(不是 MVC)中配置了 Ninject 2,但是当我将项目部署到 IIS 主机时,它会因以下原因而崩溃:
System.NullReferenceException: Object reference not set to an instance of an object.
[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.PipelineModuleStepContainer.GetEventCount(RequestNotification notification, Boolean isPostEvent) +30
System.Web.PipelineStepManager.ResumeSteps(Exception error) +1481
System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) +132
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +709
我再次使用 vanilla ASP.net Web 应用程序对此进行了测试,并使用以下代码获得了相同的崩溃:
protected override IKernel CreateKernel()
{
return Container;
}
private IKernel Container
{
get
{
IKernel kernel = new StandardKernel(new SiteModule());
var module = new OnePerRequestModule();
module.Init(this);
return kernel;
}
}
有其他人让 Ninject 使用 ASP.net 4 吗?
[更新:2010.11.03]
在做了一些研究之后,它似乎与 OnePerRequestModule() 模块有关,但删除它似乎并不能解决我根据这个问题的建议添加它的问题。