简体   繁体   English

枚举MSMQ中的所有传出队列,C#

[英]Enumerate all outgoing Queues in MSMQ, C#

Using C# and .NET 3.5, how can I get a listing of all outgoing queues in MSMQ?使用 C# 和 .NET 3.5,如何获取 MSMQ 中所有传出队列的列表? I found this article about it but as you can see below I do not have the COM entry for Microsoft Message Queue 3.0 Object Library ...我找到了这篇关于它的文章,但正如您在下面看到的,我没有Microsoft Message Queue 3.0 Object Library的 COM 条目...

我不小心弄到了 Microsoft Message Queue 3.0 Object Library

So how can I get the current outgoing queue listing?那么如何获取当前的传出队列列表呢? I figured there must be a way since I can see them in Computer Management ...我想一定有办法,因为我可以在Computer Management中看到它们......

计算机管理 + MSMQ

What can I do?我能做些什么?

Two good places to start I think would be these:我认为有两个很好的起点:

http://msdn.microsoft.com/en-us/library/ms703173%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/ms703173%28v=vs.85%29.aspx

http://msdn.microsoft.com/en-us/library/ms711378%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/ms711378%28v=vs.85%29.aspx

I'll see if I can work up some code.我会看看我是否可以编写一些代码。


Perhaps not, those look old, still looking.也许不是,那些看起来老了,还在寻找。


Heres some WScript that will show them to you, still looking for.Net code:下面是一些将向您展示的 WScript,仍在寻找.Net 代码:

Dim Locator
Set Locator = CreateObject("WbemScripting.SWbemLocator")
Dim objs
Set Service = Locator.ConnectServer(".", "root\cimv2")
Set objs = Service.ExecQuery("Select * From Win32_PerfRawData_MSMQ_MSMQQueue")
For Each object In objs
    WScript.Echo "Name: " & object.Name
Next 

using System.Management;
namespace TestMSMQStuff
{
    class Program
    {

        static void Main(string[] args)
        {

            System.Management.SelectQuery q = new SelectQuery("Select * From Win32_PerfRawData_MSMQ_MSMQQueue");
            ManagementObjectSearcher s = new ManagementObjectSearcher(q);
            foreach (var r in s.Get())
            {
                Console.WriteLine(r.Properties["Name"].Value);
            }
        }
    }
}

Looks like all the outgoing queues start with "os:"看起来所有传出队列都以“os:”开头

Need to references System.Management and System.Management.Instrumentation需要参考 System.Management 和 System.Management.Instrumentation

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM