目前,我正在做这样的:有没有更好的方法来计算消息队列(MSMQ)中的消息?
MessageQueue queue = new MessageQueue(".\Private$\myqueue");
MessageEnumerator messageEnumerator = queue.GetMessageEnumerator2();
int i = 0;
while (messageEnumerator.MoveNext())
{
i++;
}
return i;
但出于显而易见的原因,它只是感觉不对 - 我不应该通过各种消息迭代只是为了获得一算,我应该?
有没有更好的方法?
当队列超过10k条消息时,这种技术的性能非常糟糕。 – 2012-05-09 00:15:12
此外,如果队列中的消息太多,它可能会抛出OutOfMemoryException。 – Ivan 2014-06-04 09:25:44