0

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

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

我面临以下错误并且有一些解决它的问题:此 SqlTransaction 已完成;它不再可用。提交失败。

任何人都可以解释为什么会这样。据我所知,NH 事务在 TransactionScope 中登记,尽管 TranasctionScope 是在创建 ISession 的 IHttpModule BeginRequest 之后创建的。

任何帮助,将不胜感激。

4

1 回答 1

0

嗯......几个小时后......原来是我的分布式事务协调器导致了我的问题......

重新启动它,它恢复正常...

希望这对其他人有帮助。

于 2013-02-08T05:53:01.073 回答