我想知道是否有一种方法可以使用 C# 以编程方式检查私有(private)或公共(public) MSMQ 中有多少消息?我有代码使用 try/catch 中包含的 peek 方法检查队列是否为空,但我从未见过任何关于显示队列中消息数量的代码。这对于监控队列是否正在备份非常有帮助。
最佳答案
您可以直接从 .NET 读取队列的性能计数器值:
using System.Diagnostics;
// ...
var queueCounter = new PerformanceCounter(
"MSMQ Queue",
"Messages in Queue",
@"machinename\private$\testqueue2");
Console.WriteLine( "Queue contains {0} messages",
queueCounter.NextValue().ToString());
关于c# - 有没有办法检查 MSMQ 队列中有多少消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3869022/