c# - 有没有办法检查 MSMQ 队列中有多少消息?

标签 c# msmq

我想知道是否有一种方法可以使用 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/

相关文章:

c# - 在 List<interface> 或 List<abstract Class> 中设置/确定具体类型的最佳做法是什么?

c# - MSMQ。将邮件正文存储在驱动器上时对其进行加密

c# - 体系结构帮助(WCF 与否)

c# - 通过 C# 的 MSMQ - 确认收到该消息?

javascript - 使用 C# 在 Selenium 页面对象模型中不可能实现鼠标悬停

c# - 在主线程中获取 UdpClient 接收数据

c# - 动态减小 FontSize 以避免溢出

c# - .NET 中是否有运行对象表

c# - MassTransit 二进制序列化程序和 MassTransit.RuntimeServices 问题