ASP.NET MVC NHibernateアプリをIIS7に展開する際のエラー
-
03-07-2019 - |
質問
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()でインスタンス化する必要があります。
所属していません StackOverflow