加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:18:55 所属栏目:百科 来源:网络整理
导读:使用C#和.NET 3.5,如何获取MSMQ中所有传出队列的列表?我发现 this article about it,但如下可以看到,我没有COM条目的Microsoft Message Queue 3.0对象库… 那么如何获取当前的出站队列列表?我认为一定有办法,因为我可以在计算机管理中看到它们 我能做什么
使用C#和.NET 3.5,如何获取MSMQ中所有传出队列的列表?我发现 this article about it,但如下可以看到,我没有COM条目的Microsoft Message Queue 3.0对象库…

那么如何获取当前的出站队列列表?我认为一定有办法,因为我可以在计算机管理中看到它们

我能做什么?

解决方法

两个好的地方开始我认为是这些:

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(".","rootcimv2")
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读