Pergunta

Tenho uma aplicação Asp.Net MVC que funciona no servidor web desenvolvimento vs.net. Quando eu publicar IIS7 eu recebo o seguinte erro. Eu passei muitas horas e ainda sem solução!

 [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

Aqui está o Application_Start

protected void Application_Start()
        {


                ConfigureLogging();


                ComponentRegistrar.RegisterComponents();


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


                CacheManager.InitCaches();

            }
        }

Eu vim tarde para esta aplicação e não sei as melhores práticas de MVC e NHibernate

Foi útil?

Solução

Você não pode configurar nhibernate no início da aplicação. Eu não sei exatamente por que, mas eu também tinha esse problema.

Você pode inicializar-lo em Init (). Além disso, você pode ver que é feito aqui http://code.google.com/p/sharp-architecture/source/checkout

Outras dicas

Movendo o meu código de inicialização nhibernate de Application_Start () para Init () ainda não correu bastante tarde para corrigir o erro. Então me deparei com este . A solução que eu usei foi não do post original , mas a partir de primeiro comentário por jbland. Basicamente ele se move inicialização do nhibernate para ocorrer na primeira solicitação.

Uma coisa a notar é o seu código não lhe dá o contexto de onde webSessionStorage vem. É uma variável de membro e deve ser instanciado no Init ().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top