Question

J'ai une application Asp.Net MVC qui fonctionne sur le serveur Web de développement vs.net. Lorsque je publie sur IIS7, l'erreur suivante apparaît. J'ai passé de nombreuses heures et toujours pas de solution!

 [NullReferenceException: Object reference not set to an instance of an object.]
   System.Web.PipelineStepManager.ResumeSteps(Exception error) +929
   System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) +91
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +508

Voici le début d’application

protected void Application_Start()
        {


                ConfigureLogging();


                ComponentRegistrar.RegisterComponents();


                NHibernateSession.InitSqlServer2005(new WebSessionStorage(this), Settings.Default.DefaultConnString);


                CacheManager.InitCaches();

            }
        }

Je suis arrivé en retard à cette application et je ne connais pas les meilleures pratiques de MVC et de NHibernate

Était-ce utile?

La solution

Vous ne pouvez pas configurer nhibernate au démarrage de l’application. Je ne sais pas exactement pourquoi, mais j'ai aussi eu ce problème.

Vous pouvez l'initialiser dans Init (). Aussi, vous pouvez voir que c'est fait ici http://code.google.com/p/sharp-architecture/source/checkout

Autres conseils

Le déplacement du code d’initialisation de nhibernate de Application_Start () vers Init () n’a toujours pas été exécuté assez tard pour réparer l’erreur. Je suis donc tombé par hasard sur ceci . La solution que j’ai utilisée n’était pas tirée du message original , mais du premier commentaire de jbland. En gros, l’initialisation de nhibernate est déplacée lors de la première requête.

Une chose à noter est que son code ne vous donne pas le contexte d'où provient webSessionStorage. C'est une variable membre et doit être instanciée dans Init ().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top