有一个远程机器(我们称之为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之外别无他法.客户端库使用本地服务器与远程服务器通信.