2010-07-07 17 views
5

मैं सिस्टम का उपयोग करने का तरीका जानने का प्रयास कर रहा हूं। थ्रेडिंग। रद्दीकरण, त्रुटि प्रबंधन, परिणाम-वापसी और एकाधिक निरंतरता का समर्थन करते समय असीमित रूप से एक सिंक्रोनस डब्ल्यूसीएफ विधि का आह्वान करना।व्यापक सी # सिस्टम की आवश्यकता है। थ्रेडिंग। उदाहरण उदाहरण

मैं कई अपूर्ण डेमो में आया हूं लेकिन वे सभी थोड़े कम लगते हैं। एक उदाहरण के रूप में मैं सहकारी रद्दीकरण का उपयोग नहीं कर सकता क्योंकि मेरे सभी डब्ल्यूसीएफ विधियों परमाणु और अपेक्षाकृत लंबे समय तक रहते हैं।

+1

कार्यों को इन सभी विशेषताओं को सक्षम करने के लिए आपके लक्षित कोड (कस्टम या अन्यथा) में घुसपैठ एसिंक समर्थन की आवश्यकता होती है - विशेष रूप से रद्दीकरण। आप एसिंक एक से सिंक्रोनस विधि बना सकते हैं, लेकिन आप कोड को संशोधित (संभावित रूप से रीफैक्टरिंग) के बिना इसे दूसरी तरफ नहीं कर सकते हैं। –

उत्तर

1

मैं एक वैकल्पिक विकल्प पर विचार करूंगा - डब्ल्यूसीएफ क्लाइंट इंटरफ़ेस को एसिंक्रोनस विधियों के साथ उत्पन्न करें। इससे आप सभी डब्ल्यूसीएफ सेवा को असीमित रूप से कॉल कर सकते हैं (क्लाइंट एप्लिकेशन के परिप्रेक्ष्य से), जो आपको रद्दीकरण, त्रुटि-संचालन, परिणाम-वापसी इत्यादि का समर्थन करने की अनुमति देगा।

लाभ यह है कि आपने ' कार्यकर्ता थ्रेड पूल (जैसे System.Threading.Tasks इच्छा) पर थ्रेड को अवरुद्ध कर रहा है, और आपके पास अपने कार्यकर्ता धागे में एक सिंक्रोनस डब्ल्यूसीएफ कॉल को रद्द करने का तरीका जानने की चिंता नहीं है।

क्या कोई कारण है कि आपको एक सिंक्रोनस डब्ल्यूसीएफ कॉल करना होगा?

+0

आपके त्वरित उत्तर के लिए धन्यवाद। दुर्भाग्यवश, मैं एक कस्टम प्रॉक्सी का उपयोग करता हूं इसलिए मैं देशी डब्ल्यूसीएफ async का उपयोग नहीं कर सकता ... –

1

यदि आपने समझाया कि आप थोड़ा और क्या कर रहे हैं तो इससे मदद मिल सकती है।

हालांकि आप कह रहे हैं कि आप एक सिंक्रोनस कॉल का एसिंक संस्करण चाहते हैं और यह कार्य नहीं है।

कार्य आधारित प्रसंस्करण एक एसिंक कॉल को सिंक्रोनस कॉल की तरह दिखने के बारे में है। इस तरह कार्य न करें बस कोड इस तरह दिखता है जिस तरह से यह काम करता है।

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