2010-02-02 12 views
9

मेरे पास एक डब्ल्यूसीएफ संदेश (चैनल.मेसेज) है जिसे मैं गेटबॉडी() का उपयोग करके निकालने का प्रयास कर रहा हूं। हालांकि, मुझे लगता है कि मैं इसे केवल एक बार कर सकता हूं, और यदि मैं "गेटबॉडी <>" का उपयोग करने की कोशिश कर रहा हूं, तो मुझे यह मिल रहा है: "यह संदेश ऑपरेशन का समर्थन नहीं कर सकता क्योंकि इसे पढ़ा गया है।"डब्ल्यूसीएफ संदेश निकाय दो बार पढ़ें - "संदेश पढ़ा नहीं जा सकता"

कोई विचार मैं संदेश निकाय को फिर से कैसे पढ़ सकता हूं?

धन्यवाद

उत्तर

13

यहाँ आप MSDN पर ऐसा करने के लिए कोशिश कर रहे हैं के बारे में एक बहुत अच्छा लेख है। कृपया एक बफर में एक संदेश की प्रतिलिपि शीर्षक वाला अनुभाग देखें। यह स्पष्ट रूप से संदेश निकाय को एक से अधिक बार एक्सेस करने के बारे में बात करता है।

http://msdn.microsoft.com/en-us/library/ms734675.aspx

+0

कि ज्यादा मदद नहीं करता है .... मुझे पता चला कि आपको किसी संदेश केवल एक बार पढ़ सकते हैं, लेकिन मैं MSFT तर्क यहाँ ... –

+5

विशेष लेख राज्यों नहीं मिल रहा। .. "कभी-कभी संदेश निकाय को एक से अधिक बार एक्सेस करना आवश्यक है, उदाहरण के लिए, एक ही संदेश को प्रकाशक-ग्राहक प्रणाली के हिस्से के रूप में एकाधिक गंतव्यों में अग्रेषित करना आवश्यक है। इस मामले में, पूरे संदेश को बफर करना आवश्यक है (शरीर सहित) स्मृति में। आप CreateBufferedCopy को कॉल करके ऐसा कर सकते हैं। " यदि आप इस खंड में नमूना कोड पर देखते हैं तो यह CreateBufferedCopy का उपयोग करके एक से अधिक बार संदेश के शरीर तक पहुंच दिखाता है –