Я настроил Ninject 2 в проекте ASP.NET 4.0 (не MVC), однако при развертывании проекта на узле 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
Я снова проверил это с помощью ванильного веб-приложения ASP.net и получил такой же сбой с помощью следующего кода:
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 (), однако удаление этого, похоже, не решит проблему, которую я добавил, по предложению этого вопроса .