У меня есть сервер (скажем, сервер 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?
Заранее спасибо за каждый ответ!