हमारे पास 2008 में .NET 3.5 (अब .NET 4.0 के तहत पुन: संकलित) पर एक मजबूत डब्ल्यूसीएफ क्लाइंट बनाया गया है जो net.tcp बाइंडिंग पर हमारी स्वयं की डब्ल्यूसीएफ सेवा से बात करता है। एक मजबूत प्रॉक्सी सेवा उत्पन्न करने के लिए मजबूत क्लाइंट चैनलफैक्टरी <IOurServiceInterface>() का उपयोग करता है, जिसके माध्यम से हम वर्तमान में सेवा में सिंक्रोनस कॉल करते हैं। हमें प्रत्येक कॉल से परिणाम मिलते हैं; हमारे पास कोई भी रास्ता नहीं है।कार्य Async पैटर्न और डब्ल्यूसीएफ के चैनल फैक्टरी <TChannel> कैसे लागू करें?
हम .NET 4.5/C# 5 पर माइग्रेट कर रहे हैं और ग्राहक को async/await/TAP का उपयोग करके एसिंक्रोनस बनाना चाहते हैं। इस तरह से ऐसा करने के लिए सबसे अच्छा तरीका है जिसके परिणामस्वरूप साफ कोड और अच्छा रनटाइम प्रदर्शन होता है?
(मैंने इस विषय पर एमएस दस्तावेज को देखा है, लेकिन यह हमेशा svcutil चलाने के बारे में बात करता है। हम svcutil का उपयोग नहीं करते हैं; हम सीधे चैनलफैक्टरी का उपयोग करते हैं। इसके अलावा: एमएस दस्तावेज को चैनल चैनल फैक्ट्री का उपयोग करके असीमित रूप से कॉल करने के लिए। नेट 4.5 कोई परिवर्तन नहीं होता .NET 3.0 दिनों के बाद से। लगता है ChannelFactory नई asynchrony को गले लगा लिया नहीं किया है।)
धन्यवाद स्टीफन। आपके उत्तर के आधार पर जानकारी खोजने के बाद, और अपनी पोस्ट पढ़ने के बाद, मुझे लगता है कि यह सबसे अच्छा किया जा सकता है। मुझे हैरान है कि इस दिन और चैनल में चैनलफैक्टरी अभी भी आपको एपीएम पैटर्न का उपयोग करने की उम्मीद करता है। –