MSMQ清除中的“远程计算机不可用”

时间:2019-09-23 15:01:04

标签: c# .net msmq

我有一台服务器(例如服务器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之外,是否需要打开其他端口进行清除?

0 个答案:

没有答案