Перечислите все исходящие очереди в MSMQ, C # - PullRequest
10 голосов
/ 31 мая 2011

Как использовать C # и .NET 3.5, как получить список всех исходящих очередей в MSMQ?Я нашел эту статью об этом , но, как вы можете видеть ниже, у меня нет записи COM для Microsoft Message Queue 3.0 Object Library ...

I accidentally the Microsoft Message Queue 3.0 Object Library

Так как можноЯ получаю текущий список исходящей очереди?Я подумал, что должен быть способ, поскольку я могу видеть их в Computer Management ...

Computer Management + MSMQ

Что я могу сделать?

1 Ответ

3 голосов
/ 31 мая 2011

Два хороших места для начала, я думаю, будут следующие:

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

Я посмотрю, смогу ли я обработать какой-нибудь код.


Возможно, нет, они выглядят старыми, все еще выглядящими.


Вот какой-то 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);
            }
        }
    }
}

Похоже, что все исходящие очереди начинаются с "os:"

Нужны ссылки на System.Management и System.Management.Instrumentation

...