का उपयोग कर एक विधि पैरामीटर पासिंग मैं निम्नलिखित कोड है:Task.Factory.StartNew
var task = Task.Factory.StartNew(CheckFiles, cancelCheckFile.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
private void CheckFiles()
{
//Do stuff
}
मैं अब स्वीकार करने के लिए CheckFiles में संशोधन करना चाहते हैं और पूर्णांक और एक BlockingCollection संदर्भ
private void CheckFiles(int InputID, BlockingCollection<string> BlockingDataCollection)
{
//Do stuff
}
मैं कर सकते हैं ' जैसा कि मैंने ऊपर किया था, इस कार्य को शुरू करने का कोई तरीका नहीं दिख रहा है।
क्या आप मदद कर सकते हैं?
धन्यवाद
धन्यवाद
आप इसके बारे में अधिक सीख सकते हैं: यह कुछ इस तरह दिखेगा। मैं उन्हें एक लूप में शुरू कर दूंगा। हालांकि मुझे इसे LongRunning के रूप में करने की ज़रूरत है। मेरा मूल कार्यक्रम एक फाइल के साथ काम करता था लेकिन अब इसे कई फाइलों पर कुछ कोड करने की जरूरत है। इसलिए मुझे आईडी, ब्लॉकिंग कोलेक्शन, रद्दीकरण टोकनसोअर और स्ट्रीम रीडर में पास करने की आवश्यकता है। मैंने प्रश्न में उन अतिरिक्त विधि पैरामीटर को नहीं जोड़ा है, हालांकि – Jon
@ जोन: बस उन वस्तुओं के दायरे की जांच करना सुनिश्चित करें ... मैंने अभी आपके लिए विचार करने के लिए कुछ के रूप में लंबे समय तक संकेत का उल्लेख किया है - मैं कहूंगा कि इसका शायद ही कभी एक अच्छा विचार है LongRunning का उपयोग करने के लिए, विशेष रूप से .NET 4 में, यदि आप कई कार्य शुरू कर रहे हैं (यानी: एक लूप में काम करना), क्योंकि थ्रेडपूल आम तौर पर बेहतर व्यवहार प्रदान करेगा। –
लूप केवल कार्य शुरू करने के लिए है। LongRunning के बारे में 4-6 – Jon