Удаленный компьютер недоступен.- MSMQ продувка - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть сервер (скажем, сервер A), где я настроил частный MSMQ для постановки сообщений в очередь и развернул приложение на другом сервере (скажем, сервер B) для отправки сообщений.Сервер A и сервер B не находятся в одной сети или домене.Мы открыли порт 1801 на сервере A для связи с 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] -> Properties -> Безопасность для тестирования

  • Установить для всех режим полного управления
  • Установить для ANONYMOUS LOGON значение Full Control.

Может кто-нибудь помочь мне узнать, что такоеТочная проблема с очисткой, поскольку я могу отправлять сообщения на этот удаленный сервер?

Нужно ли открывать какие-либо другие порты для очистки, кроме 1801?

Заранее спасибо за каждый ответ!

...