wcf सेवा का उपयोग करने के इन दो तरीकों में से कौन सा बेहतर है? क्यूं कर? सेवा संदर्भ wcf प्रॉक्सी बनाम चैनल फैक्टरी
- जनरेट कर रहा है प्रॉक्सी ChannelFactory
पूर्व के प्रयोग से।
ChannelFactory<IMyContract> factory = new ChannelFactory<IMyContract>();
IMyContract proxy1 = factory.CreateChannel();
proxy1.MyMethod();
यह थोड़ा so
IMyContract proxy1 = null;
try
{
proxy1 = factory.CreateChannel();
proxy1.MyMethod();
((ICommunicationObject)proxy1).Close();
}
catch
{
((ICommunicationObject)proxy1).Abort();
}
तरह WCF सेवा को कॉल करने हम हर प्रॉक्सी कॉल के लिए इस स्निपेट को दोहराने चाहिए उबाऊ है? या प्रॉक्सी को बंद करने और निरस्त करने के लिए एक रैपर वर्ग बनाने का सामान्य तरीका है?
इस ServiceExecution.Execute(proxy=>proxy.MyMethod());
जैसी कक्षा लिख रहा है जो प्रॉक्सी बनाता है, और इसे करने के लिए इसे बंद करने या बंद करने का अच्छा तरीका है?
मुझे पता है, लेकिन डेटा ठेके उत्पन्न उपयोग करने के लिए सहज नहीं है। मान लें कि हमारे पास 2 सेवाएं हैं जो पहली बार डेटाकंट्रेट लौटाती हैं जिसे पैरामीटर के रूप में दूसरे को पारित किया जाना चाहिए। इस मामले में हमें डेटाकंट्रैक्ट को मैन्युअल रूप से प्रतिलिपि बनाना चाहिए, क्योंकि डेटाकंट्रैक्ट 2 अलग-अलग नामस्थानों में मौजूद है –
आप अभी भी वीएस द्वारा उत्पन्न कोड को संपादित कर सकते हैं। और आप एक अलग डेटाकंट्रैक्ट कर सकते हैं। – Incognito
किसी भी सेवा परिवर्तन और प्रॉक्सी पुनर्जन्म के बाद आपका संपादन खो जाएगा? –