मैं हमारी सेवा बस में एकीकृत 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
।