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