আমি আমার ভিউমোডেলে দীর্ঘ চলমান সার্ভার কল চালানোর জন্য টাস্কগুলি ব্যবহার করছি এবং ফলাফলগুলি মার্শাল করে Dispatcherব্যবহার করা হয়েছে TaskScheduler.FromSyncronizationContext()। উদাহরণ স্বরূপ:
var context = TaskScheduler.FromCurrentSynchronizationContext();
this.Message = "Loading...";
Task task = Task.Factory.StartNew(() => { ... })
.ContinueWith(x => this.Message = "Completed"
, context);
আমি অ্যাপ্লিকেশনটি কার্যকর করিলে এটি কাজ করে। তবে আমি যখন আমার NUnitপরীক্ষা চালিয়ে Resharperযাই তখন কলটিতে আমি ত্রুটি বার্তাটি পাই FromCurrentSynchronizationContext:
বর্তমান সিঙ্ক্রোনাইজেশন কনটেক্সটটি কোনও টাস্কশেডুলার হিসাবে ব্যবহার করা যাবে না।
আমার ধারণা এটির কারণ পরীক্ষাগুলি শ্রমিকের থ্রেডে চালিত হয়। আমি কীভাবে নিশ্চিত করতে পারি যে পরীক্ষাগুলি মূল থ্রেডে চালিত হয়েছে? অন্য কোন পরামর্শ স্বাগত।
TaskScheduler.FromCurrentSynchronizationContext()একটি ল্যাম্বডায় ব্যবহার করছিলাম এবং মৃত্যুদন্ড কার্যকর করা অন্য থ্রেডে পিছিয়ে দেওয়া হয়েছিল। লাম্বদার বাইরের প্রসঙ্গে সমস্যাটি সমাধান করা।