actualmente estoy haciendo de esta manera:¿Hay una forma mejor de contar los mensajes en una cola de mensajes (MSMQ)?
MessageQueue queue = new MessageQueue(".\Private$\myqueue");
MessageEnumerator messageEnumerator = queue.GetMessageEnumerator2();
int i = 0;
while (messageEnumerator.MoveNext())
{
i++;
}
return i;
Pero, por razones obvias, sólo se siente mal - Yo no debería tener que recorrer todos los mensajes sólo para obtener un recuento, debería?
¿Hay una manera mejor?
El rendimiento de esta técnica es terrible cuando la cola tiene más de 10k mensajes. –
Además, podría arrojar OutOfMemoryException si hay demasiados mensajes en la cola. – Ivan