MSMQ en .NET Compact Framework

Actualización: noviembre 2007

.NET Compact Framework es compatible con Message Queue Server (conocido también como MSMQ) en Windows Embedded CE. MSMQ permite a las aplicaciones comunicarse con otras aplicaciones a través de redes y sistemas que podrían estar temporalmente sin conexión.

Para obtener un ejemplo completo acerca de cómo se utiliza MSMQ en .NET Compact Framework, vea Ejemplo MSMQ Book Order Application.

Para utilizar este servicio, las aplicaciones envían mensajes a una cola de mensajes. Una cola de mensajes puede contener mensajes tanto de la aplicación emisora como de la receptora que o bien están en el mismo dispositivo o en dispositivos diferentes.

Cuando se establece una conexión de red, MSMQ envía los mensajes a la cola remota sin tener en cuenta si la aplicación receptora está en ejecución. La aplicación receptora puede comprobar en cualquier momento los mensajes en su cola local.

MSMQ no está incluido en el sistema operativo Windows Embedded CE de un Pocket PC, pero puede instalarlo, iniciar el servicio y crear aplicaciones que lo utilicen. A continuación se describe cómo obtener el componente MSMQ:

  • El SKD de Windows Mobile 2003 para Pocket PC proporciona MSMQ para Pocket PC que ejecuta Windows Mobile 2003 para Pocket PC.

  • Los dispositivos que ejecutan Windows Mobile 5.0 para Pocket PC o Smartphone pueden descargar el componente MSMQ en Redistributable Server Components for Windows Mobile 5.0.

  • MSMQ no está disponible para Windows Mobile 2003 para Smartphone.

  • MSMQ está disponible para los desarrolladores de dispositivos de Windows Embedded CE que utilizan Microsoft Platform Builder.

Windows Mobile 2003 para Pocket PC no admite el protocolo SRMP (SOAP Reliable Messaging Protocol) basado en HTTP, por tanto debe utilizar un protocolo de MSMQ propio para enviar mensajes. La versión 5.0 de Windows Mobile admite SRMP.

.NET Compact Framework sólo admite el formateador XmlMessageFormatter para serializar y deserializar los mensajes que entran y salen de la cola de mensajes.

.NET Compact Framework no admite las características siguientes, ya que no están disponibles en Windows Embedded CE:

  • Varias transacciones de mensajes. La compatibilidad de transacciones se limita a transacciones de un solo mensaje.

  • Lectura de la cola remota.

  • Cifrado.

  • Seguridad basada en una Lista de control de acceso (ACL).

  • MQMail.

  • Colas públicas basadas en Active Directory.

Dado que Active Directory no es compatible con los dispositivos, .NET Compact Framework no puede determinar si una cola remota es transaccional. Para enviar un mensaje a una cola de transacción remota, se requiere lo siguiente:

  1. Agregue ; XACTONLY a la ruta de acceso de la cola en los constructores MessageQueue que toman un parámetro de ruta de acceso de cadena y lo agregan a la propiedad Path.

  2. Especifique Single para MessageQueueTransactionType en los métodos Send que toman ese parámetro.

.NET Compact Framework no admite los siguientes tipos del espacio de nombres System.Messaging:

AccessControlEntry

AccessControlEntryType

AccessControlList

ActiveXMessageFormatter

BinaryMessageFormatter

CryptographicProviderType

Cursor

EncryptionAlgorithm

EncryptionRequired

GenericAccessRights

HashAlgorithm

MessageLookupAction

MessageQueueAccessControlEntry

MessageQueueAccessRights

MessageQueueCriteria

MessageQueueEnumerator

MessageQueueInstaller

MessageQueuePermission

MessageQueuePermissionAttribute

MessageQueuePermissionEntry

MessageQueuePermissionEntryCollection

MessageQueueTransaction

MessageQueueTransactionStatus

MessagingDescriptionAttribute

PeekAction

QueueAccessMode

StandardAccessRights

Trustee

TrusteeType

Vea también

Tareas

Cómo: Utilizar MSMQ en .NET Compact Framework

Ejemplo MSMQ Book Order Application

Ejemplo MSMQ Book Order Application

Conceptos

Información básica sobre colas de mensajes y tecnología de mensajería