আমি আমাদের সার্ভিস বাসে 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
?
SingleThreadSynchronizationContext
প্রতিটি শীর্ষ স্তরের জন্য আপনার নিজস্ব আলাদা আলাদা থ্রেডের প্রয়োজন হবে TransactionScope
।