Можно ли использовать WMI для создания очереди сообщений MSMQ (очередь PRIVATE)? - PullRequest
1 голос
/ 19 сентября 2008

Мне нужно создать личную очередь сообщений на удаленной машине, и я решил, что не могу сделать это с .NET Framework прямым способом. Я могу создать общую очередь сообщений на удаленной машине, но не частную. Я могу создать очередь сообщений (публичную или личную) локально.

Мне интересно, знает ли кто-нибудь, как получить доступ к MSMQ через WMI.

Редактировать: Я не вижу ничего, чтобы сделать это с помощью поставщика MSMQ. Возможно, придется запутаться и использовать PSExec для входа на удаленный сервер и выполнения некоторого кода.

Ответы [ 5 ]

1 голос
/ 31 октября 2008

Да, создание очереди в .NET очень просто, однако вы не можете создать личную очередь на удаленном компьютере. Я некоторое время думал о том, чтобы добавить создание очереди к поставщику WMI MSMQ ... Если вам это нужно для реального продукта / клиента, вы можете связаться со мной, и я рассмотрю вопрос о предоставлении этой функции приоритета. Всего наилучшего, Йоэль Арнон

0 голосов
/ 08 января 2010

Я также хотел создать удаленные частные очереди, но, поскольку .NET не поддерживает его, мы решили вместо этого просто использовать удаленные публичные очереди. Если мы установим разрешения «Отправить» и «Получить» для очередей по желанию, это будет хорошо.

Одной из идей для обхода этой проблемы может быть написание собственной службы Windows или веб-службы, которая работает на том же компьютере, где должна находиться очередь. Вы можете вызвать эту службу удаленно через сокет или через http, и ваш локально работающий код может создать локальную частную очередь.

Если вы используете прямой формат имени для ссылки на очередь, вы можете Отправлять и получать из удаленной частной очереди.

0 голосов
/ 13 ноября 2008
set qinfo = CreateObject("MSMQ.MSMQQueueInfo")
qinfo.PathName = ".\Private$\TestQueue"
qinfo.Label = ".\Private$\TestQueue"
qinfo.Journal = "1"
qinfo.Create

Скопируйте код в текстовом редакторе, сохраните файл как .vb s и выполните.

0 голосов
/ 01 октября 2008

WMI не может сделать это из коробки. В предыдущем ответе есть какой-то непонятный поставщик WMI, но он даже не поддерживает создание очереди.

Однако в .NET это очень просто! Я бы не пошел так далеко, как PSExec. MessageQueue.Create

0 голосов
/ 19 сентября 2008

Сообщение в блоге о MSMQ и WMI находится здесь: http://msmq.spaces.live.com/blog/cns!393534E869CE55B7!210.entry

Там написано, что здесь есть провайдер: http://www.msmq.biz/Blog/MSMQWmiSetup.msi

Здесь также говорится, что здесь есть ссылка: http://www.msmq.biz/Blog/MSMQ%20WMI%20Provider%20Objects.doc

Надеюсь, это поможет.

...