質問

vs.net開発Webサーバーで動作するAsp.Net MVCアプリケーションがあります。 IIS7に公開すると、次のエラーが表示されます。私は何時間も費やしましたが、それでも解決策はありません!

 [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

Application_Startは次のとおりです

protected void Application_Start()
        {


                ConfigureLogging();


                ComponentRegistrar.RegisterComponents();


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


                CacheManager.InitCaches();

            }
        }

このアプリケーションに遅れて来たのですが、MVCとNHibernateのベストプラクティスがわかりません

役に立ちましたか?

解決

アプリケーションの起動時にnhibernateを設定することはできません。理由は正確にはわかりませんが、この問題もありました。

Init()で初期化できます。また、ここで行われていることがわかります http://code.google.com/p/sharp-architecture/source/checkout

他のヒント

nhibernate初期化コードをApplication_Start()からInit()に移動しても、エラーを修正するのに十分なほど遅く実行されませんでした。だから私は this を見つけました。私が使用した解決策は、元の投稿からではなく、jblandによる最初のコメントからでした。基本的に、最初のリクエストで発生するようにnhibernateの初期化を移動します。

注意すべきことの1つは、彼のコードはwebSessionStorageの出所のコンテキストを提供しないことです。これはメンバー変数であり、Init()でインスタンス化する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top