Error al implementar la aplicación ASP.NET MVC NHibernate en IIS7
-
03-07-2019 - |
Pregunta
Tengo una aplicación Asp.Net MVC que funciona en el servidor web de desarrollo vs.net. Cuando publico en IIS7 me sale el siguiente error. ¡He pasado muchas horas y todavía no tengo solución!
[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
Aquí está el Application_Start
protected void Application_Start()
{
ConfigureLogging();
ComponentRegistrar.RegisterComponents();
NHibernateSession.InitSqlServer2005(new WebSessionStorage(this), Settings.Default.DefaultConnString);
CacheManager.InitCaches();
}
}
Llegué tarde a esta aplicación y no conozco las mejores prácticas de MVC y NHibernate
Solución
No puede configurar nhibernate en el inicio de la aplicación. No sé exactamente por qué, pero también tuve este problema.
Puede inicializarlo en Init (). También puedes ver que se hace aquí http://code.google.com/p/sharp-architecture/source/checkout
Otros consejos
Mover mi código de inicialización de nhibernate de Application_Start () a Init () aún no se ejecutó lo suficientemente tarde como para corregir el error. Así que me topé con esto . La solución que utilicé no fue de la publicación original , sino del primer comentario de jbland. Básicamente, mueve la inicialización de nhibernate para que ocurra en la primera solicitud.
Una cosa a tener en cuenta es que su código no le da el contexto de dónde proviene webSessionStorage. Es una variable miembro y debe instanciarse en Init ().