Global.asaxのSession_Endイベントにユーザーデータを記録するコードがあります。動作していますが、「無効な操作です。接続が閉じられました」という例外がスローされることがあります。私は開発サーバー上でこの状況を再現することに失敗しました。アプリケーションサーバーでのみ発生します。なにが問題ですか?ありがとう。NHibernateは "無効な操作です。接続が閉じられました。"例外
protected void Session_End(object sender, EventArgs e)
{
try
{
userlog = UserLog.LoadBySessionAndLogoutTime(NHibernateHTTPModule.CurrentSession, Session.SessionID, null);
userlog.LogoutTime = DateTime.Now;
UserLog.Update(NHibernateHTTPModule.CurrentSession, userlog);
}
catch (Exception exception)
{
Mail.SendMail("Error", error);
}
}
私は各http要求でnhibernateセッションを開いて閉じています。私はIHttpModuleを継承するNHibernateHTTPModuleを持っていて、OnBeginRequestで開いてOnEndRequestイベントを閉じています。あなたの提案を前に試してみましたが、nhibernate接続状態が閉じているかどうかを確認するコントロールを配置しましたが、閉じていても運がない場合は再オープンします。 – user487533
そこに新しいnhibernateセッションを開くと、同じエラーがスローされますか? –
ありがとうございます。私は新しいセッションを再開しますが、それは私に同じエラーを与え続けます。私はまた新しいものを開くことによって接続を再開しようとしましたが、いいえ。それは同じエラーを与え続けます。 – user487533