Domanda

Ho un'applicazione Asp.Net MVC che funziona nel web server di sviluppo vs.net. Quando pubblico su IIS7 ricevo il seguente errore. Ho trascorso molte ore e ancora nessuna soluzione!

 [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

Ecco Application_Start

protected void Application_Start()
        {


                ConfigureLogging();


                ComponentRegistrar.RegisterComponents();


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


                CacheManager.InitCaches();

            }
        }

Sono arrivato tardi a questa applicazione e non conosco le migliori pratiche di MVC e NHibernate

È stato utile?

Soluzione

Non è possibile configurare Nhibernate all'avvio dell'applicazione. Non so esattamente perché, ma ho avuto anche questo problema.

Puoi inizializzarlo in Init (). Inoltre puoi vedere che è fatto qui http://code.google.com/p/sharp-architecture/source/checkout

Altri suggerimenti

Lo spostamento del mio codice di inizializzazione non consentito da Application_Start () a Init () non è stato ancora eseguito abbastanza tardi per correggere l'errore. Quindi mi sono imbattuto in questo . La soluzione che ho usato non era dal post originale , ma dal primo commento di jbland. Fondamentalmente sposta l'inizializzazione di nhibernate alla prima richiesta.

Una cosa da notare è che il suo codice non fornisce il contesto da cui proviene webSessionStorage. È una variabile membro e deve essere istanziata in Init ().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top