2012-02-13 17 views
8

मैं नीचेकार्य की स्थिति प्रतीक्षा करनाफॉरएक्टिवेशन - इसका क्या अर्थ है?

var newTask = Task.Factory.StartNew(() => 
{ 
fcStartSubPageCrawl(srMainSiteURL, srMainSiteId); 
}).ContinueWith((t) => 
{ 
    var aggException = t.Exception.Flatten(); 
foreach (var exception in aggException.InnerExceptions) 
    csPages.LogException(exception.ToString()); 
}, 
TaskContinuationOptions.OnlyOnFaulted); 

तरीके के साथ WPF कार्य शुरू कर रहा हूँ अब जब मैं कार्य की स्थिति

इस तरह (नए कार्य कार्य सूची को सौंपना) की जाँच करें:

if (tskLocalTaskList[i].IsCompleted == false) 

मैं देख रहा हूँ वह कार्य स्थिति = प्रतीक्षा करने के लिए सक्रियता

इसका क्या अर्थ है? और यह सक्रियण की प्रतीक्षा क्यों कर रहा है?

सी # 4.0 WPF

उत्तर

6

WaitingForActivation समय कार्य प्रारंभ विधि के लिए एक कॉल और पल में जो कार्य कार्य शेड्यूलर द्वारा अनुसूचित हो जाता है के बीच रहता है। तो किसी कार्य की प्रारंभ विधि पर कॉल के तुरंत बाद, कार्य की स्थिति प्रतीक्षा करने के लिए सेट की जा रही है और शेड्यूलर को कॉल करें। AddWork बनाया गया है। यहां, कार्य या तो शेड्यूलर (WaitingToRun) है या immidiatly चलाते हैं।

ओह, और इस WPF के साथ कोई संबंध नहीं है, कार्य मैं कैसे काम तुरंत शुरू कर सकता हूँ बीसीएल

+1

का एक हिस्सा हैं? – MonsterMMORPG

+2

यह आपके कथन जारी होने के कारण है। यह एक नया कार्य बनाता है जिसे आप var newTask को असाइन करते हैं। हालांकि यह कार्य तब तक निर्धारित नहीं होता है जब मूल कार्य अपवाद के परिणामस्वरूप नहीं होगा। आपको सबसे पहले मूल कार्य को नया टास्क असाइन करना चाहिए और फिर newTask.ContinueWith (...., TaskContinuationOptions.OnlyOnFaulted) को कॉल करना चाहिए; – Polity

+0

उत्तर के लिए धन्यवाद। मेरा वर्तमान तरीका भी काम कर रहा था। यह हमेशा के लिए इंतजार की तरह नहीं था। हालांकि मैंने कोड को संशोधित किया जैसा आपने कहा था और अब मैं जांचता हूं कि मैं दौड़ रहा हूं। हालांकि मुझे कोई गति अंतर नहीं आया। अब भी वही। यह वेब पृष्ठों को क्रॉल करने के बारे में है। – MonsterMMORPG

संबंधित मुद्दे