আমি আমাদের সার্ভিস বাসে async/ সংহত করার চেষ্টা করছি await। আমি SingleThreadSynchronizationContextএই উদাহরণটির উপর ভিত্তি করে একটি বাস্তবায়ন করেছি http://blogs.msdn.com/b/pfxteam/archive/2012/01/20/10259049.aspx ।
এবং এটা কাজ করে জরিমানা, এক জিনিস ছাড়া: TransactionScope। আমি ভেতরের জিনিসগুলির জন্য অপেক্ষা করি TransactionScopeএবং এটি ভেঙে যায় TransactionScope।
TransactionScopeasync/ এর সাথে দুর্দান্ত খেলবে বলে মনে হচ্ছে না await, কারণ এটি থ্রেডে জিনিসগুলি ব্যবহার করে সঞ্চয় করে ThreadStaticAttribute। আমি এই ব্যতিক্রম পাই:
"লেনদেনস্কোপ ভুলভাবে নেস্ট করেছে।"
আমি TransactionScopeকাজটি সারিবদ্ধ করার আগে ডেটা সংরক্ষণ করার চেষ্টা করেছি এবং এটি চালানোর আগে পুনরুদ্ধার করেছি তবে এটি কোনও জিনিস বদলেছে বলে মনে হচ্ছে না। আর TransactionScopeকোড একটি জগাখিচুড়ি, তাই এটি বুঝতে সেখানে কি ঘটছে সত্যিই কঠিন।
এটি কাজ করার কোন উপায় আছে? এর কোন বিকল্প আছে কি TransactionScope?
SingleThreadSynchronizationContextপ্রতিটি শীর্ষ স্তরের জন্য আপনার নিজস্ব আলাদা আলাদা থ্রেডের প্রয়োজন হবে TransactionScope।