IHttpModule をセットアップして、NH isession およびトランザクションなどを開いたり閉じたり、開始およびコミットしたりします。ASHX ハンドラーに、一部の ajax によって呼び出される、これと同様のコードを配置します。
using (var transactionScope = new TransactionScope(...)) {
// Do some NH stuff and write to a few transactional queues.
transactionScope.Complete();
}
次のエラーに直面しており、それを解決するためにいくつかの問題があります: This SqlTransaction has completed; もう使用できません。コミットに失敗しました。
なぜこれが当てはまるのか、誰もが光を当てることができますか. 私の知る限り、NH トランザクションは TransactionScope に参加しますが、TransactionScope は IHttpModule BeginRequest の後に作成され、ISession が作成されます。
どんな助けでも大歓迎です。