【发布时间】:2011-01-21 10:23:50
【问题描述】:
我目前在 VB.NET 2.0 中处理一个遗留项目。 该项目有一个非常有趣的 DAL 层,它不包含交易:-| 无论如何,让程序的某些部分具有事务性是我的工作,而我没有 可以访问 DAL 层代码。 所以我试图将整个代码部分放在单个 TransactionScope 中。
现在问题来了: 当从 DAL 层深处的某个地方抛出 SqlException 时,我的事务总是被回滚!即使我在同一个 TransactionScope 内捕获并处理异常。
我的问题:这是正常行为吗? 对此我能做些什么吗?
我认为当异常被抛出超出 TransactionScope 的范围时事务回滚是正常的,但如果在这些范围内处理异常则不是!
任何帮助将不胜感激!
编辑:SqlException 实际上是从 System.Data.Common.SqlCommand 中抛出的,所以我无法真正阻止它的发生。
问候, ldx
【问题讨论】:
标签: vb.net exception .net-2.0 transactionscope