MSMQ Отправка сообщения из Windows CE 5 в Windows 7 - PullRequest
0 голосов
/ 09 декабря 2010

У меня есть небольшое консольное приложение .NET, работающее на устройстве Windows CE 5, которое собирает информацию о метках RFID.Когда каждый тег читается, он записывает соответствующие данные в удаленную очередь сообщений, расположенную на компьютере с Windows 7.Очередь приватная, поэтому я обращаюсь к ней явно, я понимаю, как это сделать.Он транзакционный, хотя я не верю, что это актуально в контексте проблемы, так как я считаю, что по умолчанию на SendMsg установлено значение Автоматически.Конечно, я могу ошибаться.

используя (var myQueue = new MessageQueue ("FormatName: Direct = OS: w7machinename \ private $ \ tags")) {try {myQueue.Send (newTag);} catch (Exception ex) {Console.WriteLine (ex.Message);}}

Если я запускаю программу, исключение не возникает.Судя по всему, он записал данные в очередь.Однако, если я смотрю на очередь, используя QueueExplorer, в очереди нет сообщений.Если после его запуска я перехожу к моему приглашению DOS устройства Win CE 5 и выполняю очереди перечислений msmqadm, я вижу, что он знает об очереди, он заявляет, что является частным, удаленным и неактивным с 0 сообщениями msg и 0 байтами.

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

Я надеюсь, что этой информации будет достаточно для того, чтобы кто-нибудь увидел мою проблему / ошибку в моих путях и заранее поблагодарил всех за любую помощь илиуказатели.

Извинения за форматирование в исходном коде.С уважением Киндо Малайский

1 Ответ

1 голос
/ 10 декабря 2010

Хорошо, после долгой игры я понял кое-что.

OK. На общем уровне сообщения в удаленной очереди не будут отображаться, и при отправке сообщения на исходном компьютере они не будут сообщать об ошибке, если у очереди нет прав для анонимных пользователей.отправить сообщение и взять на себя ответственность.Я не уверен, что, кроме отправки сообщения, какие другие опции позволят появиться сообщению.Также я думаю, что мне нужно будет провести дополнительные исследования и / или посоветовать, как разрешения будут работать в производственной среде.

Также из-за того, что MSDTC не работает, очередь не может быть транзакционной.

Что я также вижу в устройстве Windows CE, так это то, что хотя очереди перечислений msmqadm фактически перечисляют удаленную очередь, он не может определить, есть ли в ней какие-либо сообщения.

Итак, мы здесь ..Я надеюсь, что это поможет кому-то еще.

...