मैं हमारी सेवा बस में एकीकृत async/ करने की कोशिश कर रहा हूं await। मैंने SingleThreadSynchronizationContextइस उदाहरण के आधार पर http://blogs.msdn.com/b/pfxteam/archive/2012/01/20/10259049.aspx को लागू किया ।
और यह ठीक काम करता है, एक चीज को छोड़कर TransactionScope:। मैं अंदर सामान का इंतजार करता हूं TransactionScopeऔर यह टूट जाता है TransactionScope।
TransactionScopeasync/ के साथ अच्छा खेल नहीं लगता है await, निश्चित रूप से क्योंकि यह धागे का उपयोग करके चीजों को संग्रहीत करता है ThreadStaticAttribute। मुझे यह अपवाद मिलता है:
"TransactionScope ने गलत तरीके से नेस्ट किया।"
मैंने TransactionScopeकार्य को पंक्तिबद्ध करने से पहले डेटा को सहेजने और इसे चलाने से पहले इसे पुनर्स्थापित करने की कोशिश की, लेकिन यह एक चीज़ को बदलने के लिए नहीं लगता है। और TransactionScopeकोड एक गड़बड़ है, इसलिए यह समझना मुश्किल है कि वहां क्या हो रहा है।
क्या इसे काम करने का कोई तरीका है? क्या कोई विकल्प है TransactionScope?
SingleThreadSynchronizationContextप्रत्येक शीर्ष-स्तर के लिए एक अलग थ्रेड की आवश्यकता होगी TransactionScope।