Так наткнулся на эту странную проблему. Я пытаюсь получить сообщение от не аутентифицированного транзакционного msmq. Моей средой является:MSMQ Ошибка удаленного приема «Указанное имя формата не поддерживает запрошенную операцию»
- Сервер, на котором находится очередь Windows Server 2012 R2. Это также сервер БД (SQL Server)
- сервер, на котором установлена клиентское приложение также Windows Server 2012 R2
Я пытаюсь отправить сообщение с SQL Server для MSMQ (который прекрасно работает). Но когда клиентское приложение пытается получить сообщение с использованием кода ниже, оно вызывает ошибку, о которой я упоминал в названии.
private void OnPeekCompleted(object sender, PeekCompletedEventArgs args)
{
MessageQueue mq = (MessageQueue)sender;
if (mq != null)
{
try
{
if (Log.IsInfoEnabled)
{
Log.InfoFormat("[{0}] Starting processing message queue {1}", _endpoint.RouteName, _queue.QueueName);
}
mq.EndPeek(args.AsyncResult);
MessageQueueTransaction transaction = new MessageQueueTransaction();
transaction.Begin();
Message message = mq.Receive(transaction);
... // omitted for simplicity
Я не могу получить доступ к серверу клиента с сервером БД, следовательно, мне нужно иметь очереди сообщений на том же сервере БД, так как я отправляю сообщение в очередь из SQL
Я проверил следующее :
- Нет проблема отправки сообщения из SQL
- Нет н/ж вопрос доступности между серверами
- Un-аутентифицированный вызовы RPC являются включить в свойствах безопасности сервера сообщений очереди
- Формат очереди правилен. Я использую прямой формат ОС. Также попробовал формат TCP, указав IP-адрес вместо имени машины
Но напрасно. Есть идеи?
Благодаря
Каков адрес очереди? –
И работала ли это раньше и перестала работать? –