1
当调用Commit(用于IEnlistmentNotification的实现)时,我是否可以引发异常来指示我希望事务回滚?IEnlistmentNotification接口的两阶段提交
当调用Commit(用于IEnlistmentNotification的实现)时,我是否可以引发异常来指示我希望事务回滚?IEnlistmentNotification接口的两阶段提交
而应该叫Transaction.Rollback(Exception ex):
public void Commit(Enlistment enlistment)
{
Transaction currentTx = Transaction.Current;
if (currentTx != null)
{
currentTx.RollBack(new Exception("I give up!");
}
}
根据我的测试代码,当调用Commit()方法时,似乎Transaction.Current始终为空。有任何想法吗? – matori82 2014-01-13 15:21:12
后'Commit'被称为是为时已晚回滚。 – 2010-06-07 17:55:55
实际上,没有 - 直到Enlistment.Done()在实现实例中调用,仍然有机会回滚! – 2010-06-07 22:20:44
我的回答不是你要找的东西吗? – 2010-08-05 20:49:53