2010-11-03 2 views
2

j'ai configuré Ninject 2 dans un projet ASP.NET 4.0 (non MVC) mais quand je déployer le projet à un hôte IIS il se bloque de ce qui suit:Ninject + 4 + .NET pipeline intégré résultats dans NullReferenceException

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 

J'ai testé ce nouveau avec une application Web ASP.net vanille et obtenir le même accident avec le code suivant:

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; 
    } 
} 

quelqu'un at-il d'autre a Ninject travailler avec ASP.net 4?

[MISE À JOUR: 2010.11.03]

Après avoir fait quelques recherches, il semble qu'il peut être quelque chose à voir avec le OnePerRequestModule module, la suppression Cependant, cela ne semble pas résoudre le problème que j'ajouté() il due à la suggestion de this question.

Répondre

2

En Ninject 2, vous utilisez l'extension Ninject.Web (see the complete set here) et ne pas faire une config explicite que vous avez ici autour OnePerRequestModule etc.

Vous ne faites pas des choses web.config soit IIRC (je suis en utilisant the MVC one et vous n'y êtes pas)

+0

J'utilise Ninject.Web, malheureusement même après avoir enlevé la référence à OnePerRequestModule() la même erreur se produit. –

+0

@Richard Slater: Vous faites le '.Load()' pour choisir 'Ninject.Web'? Est-ce que regarder dans les modules chargés dans le débogueur le montre comme chargé? –

+0

On dirait que votre réponse était correcte, et j'ai fait quelque chose de mal quelque part après avoir commenté le contenu du module, redéployer sur le serveur puis décommentant et redéployer tout fonctionne. Merci de votre aide. –

Questions connexes