readonly bool noTranByDefault = false; var isBorrowedTransaction = ConnectionScope.Current.HasTransaction; var tran = ConnectionScope.ValidateOrCreateTransaction(); if (!tran.IsOpen) { tran = ConnectionScope.CreateTransaction(); isBorrowedTransaction = false; } try { //业务 if (!isBorrowedTransaction && tran.IsOpen) tran.Commit(); } catch (Exception ex) { if (!isBorrowedTransaction && tran.IsOpen) tran.Rollback(); if (ExceptionPolicy.HandleException(ex, "BusinessOperationExceptionPolicy")) throw; } finally { if (!isBorrowedTransaction) tran.Dispose(); }
转载于:https://www.cnblogs.com/beta2013/archive/2010/06/30/3377341.html
本文介绍了一种在业务逻辑中管理事务并处理异常的方法。通过判断当前连接是否存在事务,决定创建新的事务还是借用现有事务,并在业务逻辑完成后提交或回滚事务,确保数据一致性。

200

被折叠的 条评论
为什么被折叠?



