हम अपनी परियोजना में एक सेवा बस कतार का उपयोग कर रहे हैं। जब कतार को साफ़ करने का विकल्प चुनता है तो हमें कतार से सभी संदेशों को हटाने की कार्यक्षमता की आवश्यकता होती है। मैंने नेट पर खोज की लेकिन उसे कोई फंक्शन नहीं मिला जो QueueClient
कक्षा के अंदर करता है।एक बार में एज़ूर सेवा बस कतार साफ़ करना
क्या मुझे सभी संदेशों को एक-एक करके पॉप करना होगा और फिर उन्हें कतार को साफ़ करने के लिए पूर्ण चिह्नित करना होगा या कोई बेहतर तरीका है?
QueueClient queueClient = _messagingFactory.CreateQueueClient(
queueName, ReceiveMode.PeekLock);
BrokeredMessage brokeredMessage = queueClient.Receive();
while (brokeredMessage != null)
{
brokeredMessage.Complete();
brokeredMessage = queueClient.Receive();
}
मुझे हाल ही में एक ही समस्या का सामना करना पड़ा, और हटाना और पुनर्निर्माण एक विकल्प नहीं था, लूपिंग काम करता था, लेकिन धीमा है, हालांकि, 'क्यूई क्लाइंट' के 'प्रीफेटच काउंटी' सदस्य का उपयोग करके आप आसानी से एक हजार में कुछ हज़ार संदेश बैच कर सकते हैं राउंड-ट्रिप, तेजी से चीजों को तेज करना: http://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.queueclient.prefetchcount.aspx – Necrolis