如何处理不准确的MSMQ性能计数器

时间:2017-11-10 00:24:55

标签: msmq

我有一个私人队列。我使用以下代码有效地返回队列中的消息数。

    var queuePath = _queue.Path; //_queue is a System.Messaging.MessageQueue object
    if (queuePath.StartsWith("."))
    {
        queuePath = System.Environment.GetEnvironmentVariable("COMPUTERNAME") + queuePath.Substring(1);
    }
    var queueCounter = new PerformanceCounter("MSMQ Queue","Messages in Queue",queuePath.ToLower(),true);

此代码通常有效但似乎有时是错误的(即该值滞后于实际长度)。如何强制 MSMQ队列计数器保持最新状态?

我的测试数据插入两项,然后检查长度。如果我单步执行它的值是正确的,但如果我全速运行,则计数返回为零 为此目的,是否有比绩效计数器更好的方法?

0 个答案:

没有答案