2010-03-26 14 views
8

में बाइनरी डेटा लौटने के लिए बेस 64 एन्कोडिंग या बाइट [] का उपयोग करना चाहिए मेरे पास एक साधारण सवाल है। क्या मुझे एक बाइट-सरणी या बस बेस 64 को अपने बाइनरी डेटा को एन्कोड करना चाहिए, जब इसे .NET में किसी वेब सेवा के माध्यम से उजागर किया जाए? वहाँ किसी भी पेशेवरों/किसी भी विधि, जो ज्यादातर समर्थित है आदिक्या मुझे .NET वेब सेवा

उत्तर

10

बाइट सरणी का उपयोग करें। एक एसओएपी प्रोटोकॉल पर इस बाइट सरणी को स्वचालित रूप से बेस 64 एन्कोडिंग का उपयोग करके क्रमबद्ध किया जाएगा। यदि आप बाइट सरणी का उपयोग करते हैं तो आपकी वेब सेवा भी अधिक वर्णनात्मक होगी। कोई है जो अपने वेब सेवा और एक विधि जिनके हस्ताक्षर को देखकर उपभोग करने के लिए चाहता है की कल्पना इस तरह दिखता है:

string GetBinaryImageFromDatabase(); 

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

मैं वेब सेवा विधि है कि इस तरह दिखना देखा है:

string SaveCustomer(string customer); 

लगता customer और बदले प्रकार क्या थे: वे कुछ मालिकाना एक्सएमएल थे। यदि लोग इस पर प्रोटोकॉल को पुन: पेश करते हैं तो SOAP का उपयोग करने की बिल्कुल कोई समझ नहीं है।

+0

दिलचस्प अंक। मैं यह देखने के लिए कि क्या उनके पास कोई आपत्ति है या नहीं, मैं अपनी टीम के अन्य सदस्यों के साथ चर्चा करूंगा :) – Siewers

0

एक विचार यह है कि एक Base64 इनकोडिंग स्ट्रिंग आप किसी भी मुद्दे को डिबग मदद करने के लिए "टेस्ट प्रपत्र" का उपयोग करने के लिए सक्षम बनाता है है के साथ विपक्ष, आदि बाइट सरणी है है एक जटिल प्रकार और इसलिए परीक्षण फार्म काम नहीं करेगा।

+0

लेकिन एन्कोडेड स्ट्रिंग की सामग्री अभी भी एक बाइट सरणी होगी। अगर मुझे डीबग करने की ज़रूरत है, तो मैं हमेशा कन्वर्ट कह सकता हूं। टोबे 6464 (बाइट [] इनएरे)। – Siewers

+0

हां, मेरा मुद्दा पूरी तरह से है कि अपनी विधि को कॉल/परीक्षण करने के लिए आपको एक टेस्ट दोहन बनाने की आवश्यकता होगी जो बाइट सरणी पास/प्राप्त करे। यदि आप बेस 64 स्ट्रिंग का उपयोग करते हैं तो आप परीक्षण वेबनेस लिखने के बिना मैन्युअल रूप से अपना वेबमाइंड कॉल कर सकते हैं। –