有一台远程机器(我们称之为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);
}
}
如果我运行上面的代码,我会收到错误消息
“此计算机上尚未安装消息队列。”
答案 0 :(得分:2)
不,除了在本地计算机上安装MSMQ之外别无他法。客户端库使用本地服务器与远程服务器通信。