2010-05-21 9 views
6

यह एक WCF सेवा है जो कई अनुप्रयोगोंरिटर्निंग एक बाइट [] WCF सेवा में

नीचे

द्वारा सक्रिय किया जाएगा में एक बाइट [] वापस जाने के लिए एक अच्छा अभ्यास है कोड

public byte[] GetDoc(string docParam) 
{ 
    byte[] doc; 
    doc = GenerateDoc(docParam); 
} 
है

धन्यवाद

+0

यदि आप कोड या एक्सएमएल पोस्ट करते हैं, तो ** कृपया टेक्स्ट एडिटर में उन पंक्तियों को हाइलाइट करें और संपादक टूलबार पर "कोड" बटन (101 010) पर क्लिक करें ताकि इसे अच्छी तरह प्रारूपित किया जा सके और इसे हाइलाइट किया जा सके! –

+2

Thnks marc_s। – acadia

उत्तर

2

सामान्य कोड को सुविधाजनक तरीके से कारक करना अच्छा अभ्यास है ताकि कई कॉलर इस सुविधाजनक विधि को कॉल कर सकें। यह वापसी प्रकार की परवाह किए बिना है। यदि कॉलर्स को byte[] में हेरफेर करने की आवश्यकता होगी, तो यह सुविधाजनक हो सकता है और अनावश्यक कोड को खत्म कर सकता है।

वैसे, आपके द्वारा पोस्ट किए गए कोड के बारे में, क्या वह वास्तविक कोड है या सिर्फ एक उदाहरण है? यदि यह वास्तविक कोड है:

  1. यह संकलित नहीं होगा, क्योंकि यह byte[] वापस नहीं करता है।
  2. यदि आप अंतिम पंक्ति के रूप में return doc; पर कॉल करना चाहते हैं, तो GenerateDoc()GetDoc() के अंदर क्यों है? GetDoc() वास्तव में कोई वास्तविक लाभ नहीं प्रदान करता है।
+0

खनल करेंगे, आपकी प्रतिक्रिया के लिए धन्यवाद। यह सिर्फ एक टेस्ट कोड है। – acadia

0

इसका उपयोग तब किया जाता है जब आप बाइनरी बफर को स्थानांतरित करना चाहते हैं, और एमटीओएम एन्कोडिंग (बाइंडिंग कॉन्फ़िगरेशन पर सेट) का उपयोग करके बड़े डेटा ट्रांसफर भी करते हैं। बड़े डेटा स्थानांतरण found here कैसे करें।

2

byte[] वापस करना संभव है और डब्ल्यूसीएफ आपको एमटीओएम एन्कोडिंग का उपयोग करके ऐसा करने की अनुमति देता है।

यदि बाइनरी बफर का आकार बड़ा है तो आप WCF streaming का उपयोग कर सकते हैं। इस मामले में आप Stream डेटा प्रकार वापस कर देंगे, और क्लाइंट पक्ष पर Stream से पढ़ेंगे।

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