2012-07-11 15 views
6

में जोड़े गए नए संदेश के लिए एमएसएमक्यू पर कोई घटना या कॉलबैक है, मेरे पास दो घटक हैं। एक विंडो अनुप्रयोग है और दूसरा विंडो सेवा है।
संदेश कतार (एमएसएमक्यू) और विंडो में विंडो एप्लिकेशन लेखन इसे पढ़ रहा है और संदेश को संसाधित कर रहा है।
हमेशा सेवा के नए संदेश के लिए क़तार में देखते रहो ... कोड के संदर्भ में करना चाहिए मैं
उपयोग अनंत while पाश या एक Timer
या
वहाँ किसी भी घटना या कतार पर कॉलबैक नए संदेश के लिए कतार में जोड़ा गया है चाहिए? ताकि जब विंडो एप्लिकेशन कतार में एक नया संदेश जोड़ता है, तो सेवा जान सकती है।
यह सब मैं अपने आवेदन को कुशल बनाने के लिए कह रहा हूं ताकि यदि इसे प्राप्त करने का कोई अन्य तरीका है तो आप सुझाव दे सकते हैं।
क्यूई

उत्तर

11

पढ़ने के लिए धन्यवाद आपको किसी भी घटना या पाश की आवश्यकता नहीं है। Receive विधि कतार से पढ़ी जाएगी और यदि कतार खाली है तो यह तब तक अवरुद्ध होगा जब तक कि कोई नया संदेश जोड़ा न जाए। यदि आपको इस दौरान कुछ और करने की ज़रूरत है, तो प्राप्त कोड को एक अलग धागे में रखें।

आप BeginReceive का उपयोग कर एसिंक्रोनस दृष्टिकोण का भी उपयोग कर सकते हैं। जब कतार से संदेश पढ़ा गया है तो यह वास्तव में एक ईवेंट उठाएगा।

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