我有一台服务器(例如服务器A),在其中配置了用于消息排队的专用MSMQ,并在另一台服务器(例如服务器B)上部署了一个应用程序来发送消息。服务器A和服务器B不在同一网络或域中。我们已经在服务器A上打开了端口1801,用于与MSMQ进行通信。
我们正在使用以下代码从服务器B向服务器A发送消息
var queue = @"FORMATNAME:DIRECT=TCP:<remote_server>\private$\<queuename>";
var messageQueue = new MessageQueue(queue);
var message = new Message("Hi Message");
messageQueue.Send(message);
如果我从服务器B向远程服务器A发送消息,则工作正常。
但是,如果我尝试使用服务器A上托管的应用程序从队列中删除所有消息,则会抛出以下异常
远程计算机不可用。
我正在使用以下代码清除队列。
var queue = @"FORMATNAME:DIRECT=TCP:<remote_server>\private$\<queuename>";
var messageQueue = new MessageQueue(queue);
messageQueue.Purge();
我在下面设置了两个属性[UrQueueName]->属性->用于测试的安全性
当我可以将消息发送到此远程服务器时,如何找出清除的确切问题?
除1801之外,是否需要打开其他端口进行清除?