NHibernate与ASHX和TransactionScope

时间:2013-02-08 05:00:16

标签: jquery ajax nhibernate transactionscope ashx

有一个IHttpModule设置来打开和关闭,开始和提交NH isession和事务等。 在类似于此的ASHX处理程序中有一段代码,由一些ajax调用:

using (var transactionScope = new TransactionScope(...)) {
   // Do some NH stuff and write to a few transactional queues.
   transactionScope.Complete();
}

我遇到以下错误,并解决了一些问题: 这个SqlTransaction已经完成;它已不再可用。提交失败。

任何人都可以解释为什么会出现这种情况。 据我所知,尽管在创建ISession的IHttpModule BeginRequest之后创建了TranasctionScope,但NH事务仍在TransactionScope中登记。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

嗯......几个小时之后......结果发现我的分布式事务协调员导致了我的问题......

重启它并恢复正常......

希望这有助于其他人。