Enumerate all outgoing Queues in MSMQ, C#

后端 未结 1 1641
我寻月下人不归
我寻月下人不归 2021-02-20 15:49

Using C# and .NET 3.5, how can I get a listing of all outgoing queues in MSMQ? I found this article about it but as you can see below I do not have the COM entry for Micro

1条回答
  •  耶瑟儿~
    2021-02-20 16:16

    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/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:

    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:"

    Need to references System.Management and System.Management.Instrumentation

    0 讨论(0)
提交回复
热议问题