2008-10-12 90 views
22

我已閱讀(或可能聽到同事)在.NET中,TransactionScope可以達到其超時,然後VoteCommit(而不是VoteRollback)。這是準確還是傳聞?我無法追蹤有關這個問題的網絡上的信息(如果這是一個問題),所以我想知道有沒有人有任何直接的經驗,並可以闡明一些問題?.NET中的TransactionScope錯誤?更多信息?

回答

25

如果您的意思是關於SQL Server,那麼您可以在連接字符串中修復一個問題;看到我的回覆here,或全部細節here

簡短版本是:確保您在連接字符串中有Transaction Binding=Explicit Unbind;

它實際上並未進行投票提交 - 事務(以及任何早期操作)已回退,但後續操作(仍在TransactionScope之內)可在無事務處理中執行,即自動提交。

+0

工程就像一個魅力。謝謝。 – 2008-10-22 14:25:32

27

Marc Gravell描述的行爲在.Net 4.0中發生了變化。它不會自動提交操作,它現在會拋出一個InvalidOperationException異常。因此,在4.0中,您不再需要使用Explicit Unbind。