blogs.msdn.com/b/johnbreakwell/archive/2008/02/12/...

о, моя проблема похожа наКак получить сообщение из личной очереди рабочей группы (и я в основном использую тот же код).

Я создаю очередь на главном компьютере, используя

MessageQueue.Create(@".\Private$\MyNewPrivateQueue");

Открытие очереди на удаленной машине с помощью

var queue = new MessageQueue(@"FormatName:DIRECT=TCP:xxx.xxx.xxx.xxx\PRIVATE$\MyNewPrivateQueue");

И запись / чтение данных с использованием queue.send () и queue.Receive ()

У меня есть две системы, с которыми я экспериментирую.

Windows 7 Home Premium x64Windows XP SP3

Когда я создаю личную очередь в системе W7 и пытаюсь записать, а затем прочитать очередь из системы XP (согласно указанному вопросу), происходит сбой с исключением «Служба очереди сообщений недоступна» в действии чтения.

Однако, когда я переворачиваю системы (создаю очередь в системе XP и записываю / читаю из системы W7, используя тот же код), онаработает как и ожидалось.

Я работал через:

Чтение сообщений из удаленных очередейПонимание того, как безопасность MSMQ блокирует трафик RPCУдаленное получение сообщений MSMQ из Windows Server 2008Очистить путь - MSMQ идет черезMSMQ 3.0 слишком безопасен для вас?

Я также попытался отключить брандмауэры W7 и XP и дал каждому человеку и его собаке полные права доступа к самим очередям, но безрезультатно.

Учитывая, что он работает с XP в качестве хоста очереди, но не с W7 в качестве хоста, я предполагаю, что это проблема безопасности, а не кода. Но для жизни я не могу видеть, где в W7 блокировка.

РЕДАКТИРОВАТЬ 8/9

Хорошо .. добавление

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security\AllowNonauthenticatedRPC 

Позволил мне прочитатьСообщения из удаленной приватной очереди. Однако это, похоже, не позволяет использовать

GetPrivateQueueByMachine(String machineName)

перечислить доступные частные очереди. Так есть идеи для этого?

Ответы на вопрос(1)

Ваш ответ на вопрос