我目前正在使用VB.NET 2.0中的遺留項目。 該項目有一個非常有趣的DAL層,它不包含交易: - | 無論如何,我的工作是讓程序的某些部分成爲事務性的,並且我不需要 就可以訪問DAL層代碼。 所以我試圖把整段代碼放在一個TransactionScope中。TransactionScope中的SqlException
現在就是這個問題: 當從DAL層內部的某個位置拋出SqlException時,我的事務總是被回滾!即使我在同一個TransactionScope中捕獲並處理異常。
我的問題:這是正常的行爲? 有什麼我可以做的呢?
我認爲當異常超出TransactionScope的範圍時拋出事務是正常的,但如果在這些範圍內處理異常,則不會發生異常!
任何幫助將不勝感激!
編輯:SqlException實際上是從一個System.Data.Common.SqlCommand中拋出,所以我不能真正阻止它發生。
問候, LDX