Share via


Introducción a la lectura y recuperación de mensajes

Actualización: noviembre 2007

Hay varias consideraciones que deben tenerse en cuenta a la hora de leer y recuperar mensajes.

Bloquear el acceso a una cola

Cuando ejecute una operación de recepción, puede que desee evitar temporalmente que otros usuarios quiten también mensajes de la cola con la que está trabajando. Para ello, puede establecer la propiedad DenySharedReceive de dicha cola en true. Al establecer DenySharedReceive, se evita que otros usuarios eliminen mensajes de la misma cola hasta que libere su uso, ya sea a través de la recolección de elementos no utilizados o mediante una llamada al método Close.

Propiedades que se desea recuperar

Los mensajes tienen un gran número de propiedades, por lo que si se filtran las propiedades que se desea recibir, es posible centrarse únicamente en la información relevante. Por ejemplo, si no va a trabajar con mensajes transaccionales, puede que no desee recuperar las propiedades asociadas a transacciones. En este caso, establecería las propiedades IsFirstInTransaction, IsLastInTransaction, TransactionId y TransactionStatusQueue de MessagePropertyFilter en false. La instancia del componente MessageQueue no recuperaría ninguno de los valores correspondientes a estas propiedades al recuperar un mensaje de una cola. Para obtener más información, vea Cómo: Especificar las propiedades que se recuperarán con un mensaje.

Especificar el formato para los mensajes recibidos

Cuando se leen mensajes de una cola, se utiliza un objeto formateador para serializar y deserializar el contenido del mensaje mientras se manipula. De forma predeterminada, a cada instancia del componente MessageQueue que se crea se asocia un objeto XmlMessageFormatter, que se puede utilizar para recibir mensajes si se definen ciertas propiedades necesarias. También puede utilizar otros tipos de objetos formateadores que están disponibles; para obtener más información sobre estos formateadores, vea Serialización de mensajes.

El objeto XmlMessageFormatter almacena objetos y tipos de datos primitivos en mensajes utilizando cadenas XML legibles. Cuando desee utilizar este formateador para recuperar un mensaje, deberá establecer una propiedad TargetTypeNames o TargetTypes para indicar cómo debe controlarse el mensaje resultante. Si va a utilizar otro objeto formateador, las propiedades serán diferentes.

Vea también

Tareas

Cómo: Especificar un formateador para los mensajes recuperados

Cómo: Recibir mensajes mediante programación

Cómo: Ejecutar el método Peek en los mensajes

Conceptos

Procesamiento asincrónico de mensajes

Serialización de mensajes