c# – 如何在不在本地计算机上安装消息队列的情况下从远程计算机读取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);
    }
}

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

“Message Queuing has not been installed on this computer.”

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

点赞