How to count messages in a MessageQueue
There are a few different ways of getting a count of the number of messages in the MessageQueue. Here’s a simple one.
public static int GetMessageCount(MessageQueue q)
{
int messageCount = 0;
using (MessageEnumerator messageEnumerator = q.GetMessageEnumerator2())
{
while (messageEnumerator.MoveNext())
{
messageCount++;
}
}
return messageCount;
}
The GetMessageEnumerator2 method creates a dynamic list of all the messages in that queue. So you can iterate over the list to get the count.
Other ways of doing this are: