如何在不在本地计算机上安装消息队列的情况下从远程计算机读取MSMQ消息?

时间:2013-02-04 15:36:53

标签: c# .net msmq

有一台远程机器(我们称之为MSMQ机器),它上面安装了MSMQ,并被其他几个进程使用。我想从我的本地机器上读取MSMQ机器的给定专用队列上的消息 - 但是,我想避免在我的机器上安装消息队列,因为我需要的只是检查和监视消息。我不会发送或接收消息(至少不会存储它们),我只是想“偷看”它们。

有没有办法做到这一点?我现在的代码更像这样:

public string CheckMessageQueue(machine, queue)
{
    StringBuilder Ret = new StringBuilder();
    var path = machine "\Private$\" + queue;
    try
    {
        MessageQueue mq = new MessageQueue(path);
        Message msg = new Message();
        msg = mq.Peek();
        Console.WriteLine(msg.ToString());
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

如果我运行上面的代码,我会收到错误消息

  

“此计算机上尚未安装消息队列。”

1 个答案:

答案 0 :(得分:2)

不,除了在本地计算机上安装MSMQ之外别无他法。客户端库使用本地服务器与远程服务器通信。