I have a bunch of MSMQs that I have created programatically using MessageQueue.Create(path) but when I look in perfmon I don't see those queue instances listed, only queues I created manually are listed. How do I get perf counters for all the queues?
我有一堆MSMQ,我使用MessageQueue.Create(路径)以编程方式创建,但是当我查看perfmon时,我没有看到列出的那些队列实例,只列出了我手动创建的队列。如何获得所有队列的性能计数器?
1 个解决方案
#1
Turns out that even though the queues are persisted beyond the life of the application that created them, if you restart the machine or the MSMQ service, the perfcounters for the queues that were created programatically are not created until the program creates an instance of the queue (using the MessageQueue constructor this time)
事实证明,即使队列持续超出创建它们的应用程序的生命周期,如果重新启动计算机或MSMQ服务,在程序创建队列实例之前,不会创建以编程方式创建的队列的perfcounters (这次使用MessageQueue构造函数)
#1
Turns out that even though the queues are persisted beyond the life of the application that created them, if you restart the machine or the MSMQ service, the perfcounters for the queues that were created programatically are not created until the program creates an instance of the queue (using the MessageQueue constructor this time)
事实证明,即使队列持续超出创建它们的应用程序的生命周期,如果重新启动计算机或MSMQ服务,在程序创建队列实例之前,不会创建以编程方式创建的队列的perfcounters (这次使用MessageQueue构造函数)