मैंने कार्य का उपयोग करने का प्रयास किया है। Factory.ContinueWhenAll() केवल कुछ बार एक निरंतरता का आह्वान करने के इरादे से जब सभी पूर्ववर्ती किसी भी त्रुटि या रद्दीकरण के बिना पूरा होने के लिए दौड़ते हैं। ऐसा करने से एक ArgumentOutOfRangeException संदेश के साथ फेंक दिया करने के लिए कारण बनता है,क्या ए और बी के बाद कार्य सी जारी रखना संभव है बिना किसी टीपीएल विधि का उपयोग करके गलती या रद्दीकरण के पूरा होने के लिए?
यह कई कार्य के बंद निरंतरता के लिए विशिष्ट निरंतरता प्रकार बाहर करने के लिए अवैध है। पैरामीटर नाम: continuationOptions
उदाहरण के लिए, कोड
var first = Task.Factory.StartNew<MyResult>(
DoSomething,
firstInfo,
tokenSource.Token);
var second = Task.Factory.StartNew<MyResult>(
DoSomethingElse,
mystate,
tokenSource.Token);
var third = Task.Factory.ContinueWhenAll(
new[] { first, second },
DoSomethingNowThatFirstAndSecondAreDone,
tokenSource.Token,
TaskContinuationOptions.OnlyOnRanToCompletion, // not allowed!
TaskScheduler.FromCurrentSynchronizationContext());
TPL को स्वीकार्य नहीं है। क्या कुछ अन्य टीपीएल विधि का उपयोग करके ऐसा कुछ करने का कोई तरीका है?