使用C#和.NET 3.5,如何获取MSMQ中所有传出队列的列表?我找到了this article about it,但如您所见,我没有Microsoft Message Queue 3.0 Object Library
的COM条目......
那么如何才能获得当前的传出队列列表?我认为必须有一种方法,因为我可以在Computer Management
...
我该怎么办?
答案 0 :(得分:3)
我认为有两个好的开始是:
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