Compartir a través de


Cómo: Especificar un formateador para los mensajes recuperados

Actualización: noviembre 2007

Debe indicar el objeto formateador que desea utilizar para recuperar un mensaje de una cola. El formateador indica cómo se deserializará un mensaje cuando se quite de la cola. Dependiendo del tipo de formateador que utilice, puede que necesite establecer propiedades adicionales para especificar cómo debe comportarse el formateador.

De forma predeterminada, se utiliza XmlMessageFormatter para la mayoría de las operaciones. Para obtener más información sobre los formateadores disponible, vea Serialización de mensajes. Para obtener información sobre las propiedades únicas del objeto XmlMessageFormatter, vea Introducción a la lectura y recuperación de mensajes.

Puede especificar el formateador en el código o en la ventana Propiedades. Además, puede establecer el formateador en la cola o en el mensaje. Establezca el formateador en la cola cuando el acceso a los mensajes de la cola vaya a ser directo, como en el código siguiente:

Console.WriteLine(CStr(MessageQueue1.Receive().Body))
     Console.WriteLine(MessageQueue1.Receive().Body.ToString());

Establezca el formateador en el mensaje cuando vaya a recuperar el contenido de una cola mediante el objeto de mensaje:

Message1 = MessageQueue1.Receive()
     message1 = messageQueue1.Receive();

Para especificar el formateador en la ventana Propiedades

  1. Cree y configure la instancia del componente MessageQueue. Para obtener más información, vea Cómo: Crear instancias de componentes MessageQueue.

  2. En el diseñador, haga clic en la instancia de MessageQueue y, a continuación, vaya a la ventana Propiedades.

  3. Establezca un valor adecuado en la propiedad Formatter.

  4. Si elige el objeto XmlMessageFormatter o el objeto BinaryMessageFormatter, expanda la propiedad y establezca las subpropiedades necesarias para configurar el formateador.

Para especificar el formateador mediante programación

  1. Cree y configure la instancia del componente MessageQueue. Para obtener más información, vea Cómo: Crear instancias de componentes MessageQueue.

  2. En el Editor de código, cree un objeto formateador de tipo XmlMessageFormatter, ActiveXMessageFormatter o BinaryMessageFormatter.

  3. Establezca las propiedades necesarias para el formateador.

  4. Recupere el mensaje.

    Por ejemplo, el código siguiente muestra cómo se crea y configura un componente que utiliza el objeto XmlMessageFormatter para recuperar un mensaje de una cola pública denominada MyQueue.

    Dim mq As New System.Messaging.MessageQueue(".\MyQueue")
    Dim formatter As System.Messaging.XmlMessageFormatter = _
       CType(mq.Formatter, System.Messaging.XmlMessageFormatter)
    formatter.TargetTypeNames = New String() {"System.String"}
    Dim m As System.Messaging.Message = mq.Receive(New TimeSpan(0, 0, 3))
    
         System.Messaging.MessageQueue mq =
               new System.Messaging.MessageQueue(".\\MyQueue");
            string[] types = { "System.String" };
            ((System.Messaging.XmlMessageFormatter)mq.Formatter).TargetTypeNames =
               types;
            System.Messaging.Message m = mq.Receive(new TimeSpan(0, 0, 3));
    
    

Vea también

Tareas

Cómo: Recibir mensajes mediante programación

Conceptos

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