2008-10-12 53 views
22

.NET'te, TransactionScope'un zaman aşımına ve ardından VoteCommit'e (VoteRollback'in tersine) vurabildiğini okudum (veya bir meslektaşından duydum). Bu doğru mu yoksa duyma mı? Web'de bu konu hakkında konuşmuş olduğum bilgileri takip edemedim (eğer bir sorunsa), bu yüzden kimsenin onunla doğrudan bir deneyimi olup olmadığını ve biraz ışık tutabileceğini merak ediyorum.TransactionScope hata? Daha fazla bilgi?

cevap

25

SQL Server ile ilgili olarak, bağlantı dizesinde düzeltebileceğiniz bir sorun var demektir; cevabıma bakın here, veya tüm ayrıntılar here.

Kısa sürüm: bağlantı dizesinde Transaction Binding=Explicit Unbind; olduğundan emin olun.

Aslında bir oylama işlemi yapmıyor - işlem (ve herhangi bir erken işlem) geri alındı, ancak sonraki işlemler (hala TransactionScope'un içinde) nul işleminde, yani otomatik taahhütte gerçekleştirilebilir.

+0

Bir çekicilik gibi çalışır. Teşekkür ederim. –

+0

Bu, informix gibi diğer veritabanları için aynı davranıştır mı? –

+1

@just_name sağlayıcıya bağlı olurdu; Özellikle informix için bilmiyorum - onların belgelerine başvurmak zorunda kalacaksınız –

27

Marc Gravell'in tarif ettiği davranış .Net 4.0'da değiştirildi. İşlemin otomatik olarak açılması yerine, şimdi bir InvalidOperationException atar. Yani, 4.0'da artık Explicit Unbind'i kullanmanız gerekmiyor.

İlgili konular