2008-09-19 18 views
9

मैं एक .NET 2.0 क्लाइंट से एक XML-RPC सर्वर के साथ संवाद करने की जरूरत है। क्या आप किसी भी पुस्तकालय की सिफारिश कर सकते हैं?सबसे अच्छा .NET XML-RPC लाइब्रेरी कौन सा है?

संपादित करें: XML-RPC.Net की कोशिश की, मैं जिस तरह से यह गतिशील प्रॉक्सी उत्पन्न करता है की तरह है, यह बहुत साफ है। दुर्भाग्य से, हमेशा के रूप में, चीजें इतनी सरल नहीं हैं।

object1.object2.someMethod(string1) 

इसका मतलब यह है मैं विशेषताओं का उपयोग नहीं कर सकते हैं मेरे तरीकों के नाम सेट करने के लिए: मैं एक XML-RPC सेवा है जो तरीकों के नाम में वस्तु के नाम होने के अपरंपरागत तकनीक का उपयोग करता है, तो जैसे तक पहुँचने हूँ , क्योंकि वे रन-टाइम तक ज्ञात नहीं हैं। आप कच्चे कॉल के करीब होने की कोशिश करते हैं, तो XML-RPC.Net बहुत गंदा पाने के लिए शुरू होता है।

तो, किसी को भी एक सरल और सीधा XML-RPC पुस्तकालय के बारे में पता बस मुझे करना दूँगा कि (स्यूडोकोड):

x = new xmlrpc(host, port) 
x.makeCall("methodName", "arg1"); 

मैं codeproject पर माइकल किसी ने एक बात पर एक नज़र था, लेकिन वहाँ कोई यूनिट परीक्षण नहीं है और कोड बहुत सख्त दिखता है।

जब तक किसी को एक बेहतर विचार है लगता है जैसे मैं एक ओपन सोर्स प्रोजेक्ट अपने आप को शुरू करने के लिए जा रहा हूँ!

उत्तर

4

विधि नाम यह सब बदल रहा है है (जैसे कि, विधि हस्ताक्षर स्थिर होता है) XML-RPC.NET आप के लिए इस संभाल कर सकते हैं। यह in the FAQ संबोधित किया जाता है, यह देखते हुए "हालांकि, कुछ XML-RPC एपीआई जो विधि नाम की आवश्यकता होती है कार्यावधि में गतिशील रूप से उत्पन्न होने के लिए देखते हैं ..." पूछे जाने वाले प्रश्न से:

ISumAndDiff proxy = (ISumAndDiff)XmlRpcProxyGen.Create(typeof(ISumAndDiff)); 
proxy.XmlRpcMethod = "Id1234_SumAndDifference" 
proxy.SumAndDifference(3, 4); 

यह एक XmlRpcProxy जो निर्दिष्ट implementes उत्पन्न करता है इंटरफेस। XmlRpcMethod विशेषता सेट करने से विधि विधि नए विधि नाम का उपयोग करने का कारण बनती है।

3

मैं कुछ सफलता के साथ कुछ समय पहले www.xml-rpc.net से पुस्तकालय का उपयोग किया है और यह सिफारिश कर सकते हैं - यह अच्छी तरह से डिजाइन और कार्यात्मक महसूस किया।

1

मैंने विंडोज XP पर Mono के साथ www.xml-rpc.net चलाने की भी कोशिश की थी और यह मोनो .NET रनटाइम में भी ठीक से काम करता था। सिर्फ सभी के लिए जानकारी के लिए।

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