MSMQ в платформе .NET Compact Framework
Обновлен: Ноябрь 2007
.NET Compact Framework поддерживает обмен сообщениями (также известный как MSMQ) в Windows Embedded CE. MSMQ позволяет приложениям взаимодействовать с другими приложениями через сети и системы, которые могут быть временно отключены от сети.
Полный пример использования MSMQ в .NET Compact Framework см. в разделе Пример MSMQ Book Order Application.
Чтобы использовать эту службу, приложение отправляет сообщение в очередь сообщений. Очередь сообщений может хранить сообщения приложений для получения и отправки на одном или на различных устройствах.
При установлении сетевого соединения, MSMQ передает сообщения в удаленную очередь вне зависимости от того, запущено ли приложение-получатель сообщения. Приложение-получатель может проверить наличие сообщений в локальной очереди в любое время.
MSMQ не встроена в операционную систему Windows Embedded CE на карманных персональных компьютерах, но можно установить ее, запустить службу, и создать приложения, которые ее используют. Следующий пример описывает, как получить компонент MSMQ:
Windows Mobile 2003 SDK обеспечивает MSMQ для карманных ПК под управлением Windows Mobile 2003 для карманных ПК.
Устройства, использующие программное обеспечение Windows Mobile версии 5.0 для карманных ПК или смартфонов, могут загрузить компонент MSMQ из Redistributable Server Components for Windows Mobile 5.0.
MSMQ не доступен для Windows Mobile 2003 для смартфонов.
MSMQ доступен для разработчиков устройств Windows Embedded CE, которые используют Microsoft Platform Builder.
Windows Mobile 2003 для карманных ПК не поддерживает основанный на HTTP протокол SOAP надежного обмена сообщениями (SRMP), так что следует использовать собственный MSMQ-протокол для отправки сообщений. SRMP поддерживается Windows Mobile версии 5.0.
.NET Compact Framework поддерживает только XmlMessageFormatter для сериализации и десериализации сообщений в и из очереди сообщений.
.NET Compact Framework не поддерживает следующие функции, так как они недоступны в Windows Embedded CE:
Множественные транзакции сообщений. Поддержка транзакций ограничена транзакциями с одиночным сообщением.
Чтение удаленной очереди.
Шифрование.
Безопасность основана на списке элементов управления доступом (ACL).
MQMail.
Общие очереди основаны на Active Directory.
Поскольку на устройствах отсутствует поддержка Active Directory, .NET Compact Framework не может определить, является ли удаленная очередь транзакционной. Чтобы отправить сообщение в удаленную транзакционную очередь, требуется следующее:
Добавить ;XACTONLY в путь очереди в конструкторы MessageQueue, получающие строковый параметр пути, и добавить его в свойство Path.
Укажите Single для MessageQueueTransactionType в методах Send, получающих этот параметр.
.NET Compact Framework не поддерживает следующие типы в пространстве имен System.Messaging:
MessageQueuePermissionAttribute |
См. также
Задачи
Практическое руководство. Использование очереди сообщений MSMQ в платформе .NET Compact Framework
Пример MSMQ Book Order Application
Пример MSMQ Book Order Application
Основные понятия
Сведения об очередях сообщений и о технологии обмена сообщениями