ฉันกำลังพยายามรวมasync
/ await
เข้ากับบัสบริการของเรา ผมดำเนินการSingleThreadSynchronizationContext
บนพื้นฐานของตัวอย่างนี้http://blogs.msdn.com/b/pfxteam/archive/2012/01/20/10259049.aspx
TransactionScope
และทำงานดียกเว้นสิ่งหนึ่งที่: ฉันรอคอยสิ่งที่อยู่ข้างในTransactionScope
และมันก็ทำลายTransactionScope
.
TransactionScope
ไม่ได้ดูเหมือนว่าจะเล่นดีกับasync
/ อย่างแน่นอนเพราะมันเก็บสิ่งในหัวข้อการใช้await
ThreadStaticAttribute
ฉันได้รับข้อยกเว้นนี้:
"TransactionScope ซ้อนไม่ถูกต้อง"
ฉันพยายามบันทึกTransactionScope
ข้อมูลก่อนจัดคิวงานและกู้คืนก่อนที่จะรัน แต่ดูเหมือนว่าจะไม่เปลี่ยนแปลงอะไรเลย และTransactionScope
โค้ดก็เป็นระเบียบดังนั้นจึงยากที่จะเข้าใจว่าเกิดอะไรขึ้น
มีวิธีทำให้ใช้งานได้หรือไม่? มีทางเลือกอื่นให้TransactionScope
หรือไม่?
SingleThreadSynchronizationContext
TransactionScope