यह बिल्कुल सही है। "प्राप्त करें" (बुकस्लीव) एक आस्थगित byte[] लौटाता है . आपने वास्तविक byte[] . प्राप्त करने के लिए Wait का सही उपयोग किया है , फिर एक MemoryStream . का उपयोग किया इस पर byte[] कॉल करने के लिए Deserialize प्रोटोबफ-नेट के माध्यम से।
सब ठीक है।
यदि आप किसी भी ऐसे कदम को स्पष्ट करते हैं जो आपको बदसूरत लगता है, तो मैं और अधिक विशिष्ट होने में सक्षम हो सकता हूं, लेकिन:
- BookSleeve
Task. के माध्यम से पूरी तरह से async है , इसलिए या तोWait. की आवश्यकता है याContinueWithbyte[]तक पहुंचने के लिए - प्रोटोबफ-नेट पूरी तरह से स्ट्रीम-आधारित है, इसलिए
MemoryStreamकी आवश्यकता है एकbyte[]. के ऊपर बैठने के लिए
बेशक, यदि आप एक सामान्य उपयोगिता विधि (शायद एक विस्तार विधि) जोड़ते हैं, तो आपको इसे केवल एक बार लिखना होगा।
और इसके अतिरिक्त यदि एक रैपर वर्ग (कुछ ट्रैकिंग/स्लाइडिंग-समाप्ति के लिए) और एक एल 1 कैश (एल 2 के रूप में रेडिस), यह काफी सटीक है कि हम इसे स्टैक ओवरफ्लो पर कैसे उपयोग करते हैं।
एक नोट:कनेक्शन थ्रेड सुरक्षित है और बड़े पैमाने पर साझा करने का इरादा है; प्रति ऑपरेशन एक कनेक्शन न करें।