目前,我正在做這樣的:有沒有更好的方法來計算消息隊列(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