Compartir a través de


Cómo configurar la forma Recepción

Imagen que representa la forma Receive.
Forma Recepción

Se puede usar una forma Receive para iniciar una orquestación. Si establece la propiedad Activate en True, el motor en tiempo de ejecución probará un mensaje entrante para ver si es del tipo correcto y, si se ha aplicado un filtro, si se cumple la expresión de filtro. Si se cumplen los criterios para recibir el mensaje, el motor en tiempo de ejecución crea y ejecuta una nueva instancia de orquestación y la forma Receive recibe el mensaje.

Nota

Si la propiedad Activate de una forma Receive está establecida en True , receive debe ser la primera acción de la orquestación.

Nota

Si la propiedad Activate está establecida en False en todas las formas Receive , otra orquestación debe llamar a la orquestación para poder ejecutarse.

Nota

Si coloca una forma Receive dentro de un ámbito con la propiedad Activate establecida en True y, a continuación, agrega una variable class de .NET a la orquestación sin cambiar la propiedad Use Default Constructor de la variable a False, la instrucción activate receive estará fuera del ámbito en el código XLANG/S generado, pero la superficie de diseño seguirá mostrándola como dentro del ámbito.

Cada orquestación debe tener al menos una forma Receive con la propiedad Activate establecida en True.

Activar forma de recepción true

Si espera recibir una respuesta indirecta o asíncrona (sin utilizar un puerto de solicitud-respuesta) al mensaje que ha enviado previamente, tendrá que correlacionar el mensaje con la instancia de orquestación que se esté ejecutando en ese momento, para que el destinatario pueda obtener la respuesta en la instancia correcta. Puede aplicar un conjunto de correlaciones de inicialización a la forma Recepción si planea realizar correlaciones ulteriores con los valores del mensaje de entrada, o un conjunto de correlaciones siguiente para efectuar la correlación mediante un conjunto de correlaciones inicializado previamente. Para obtener más información, consulte Uso de correlaciones en orquestaciones.

Para configurar una forma Recepción

  1. Establezca un mensaje y una operación de puerto.

    1. En la ventana Vista orquestación, compruebe que la orquestación tiene un mensaje y una operación de puerto definidos para el tipo de mensaje que se va a recibir.

      En el ventana Propiedades, seleccione el mensaje que se va a recibir de la lista desplegable Propiedad Message.

    2. En el ventana Propiedades, seleccione la operación de puerto para recibir el mensaje de la lista desplegable Operación.

      —O—

      Arrastre el conector de recepción desde la forma Recepción al socket de puerto que recibirá el mensaje.

  2. Especifique que la forma Receive activará la orquestación.

  3. En la ventana Propiedades, establezca la propiedad Activar en True.

    1. En el ventana Propiedades, haga clic en el botón Puntos suspensivos (...) de la propiedad Expresión de filtro para crear un filtro para restringir los mensajes que acepta esta forma De recepción.

      —O—

      Haga clic con el botón derecho en la forma Recibir y, a continuación, haga clic en Editar expresión de filtro.

    2. Aparece el cuadro de diálogo Expresión de filtro . Use este cuadro de diálogo para crear una o varias expresiones de filtro.

      Nota

      Se debe definir y asignar un tipo de mensaje a la forma Receive para poder aplicarle un filtro.

  4. Especifique los conjuntos de correlación para restringir los mensajes que acepta la forma Receive .

    • Para cada conjunto de correlación que desee seguir, compruebe un conjunto de correlación en la lista desplegable de la propiedad Conjuntos de correlación siguientes.

    • Para cada conjunto de correlación que desee inicializar, compruebe un conjunto de correlación en la lista desplegable en la propiedad Initializing Correlation Sets (Inicializar conjuntos de correlación).

Control de cuadrícula de expresión de filtro

Una expresión de filtro se genera usando este control de cuadrícula para definir los predicados que componen la expresión. Puede agregar, editar y eliminar predicados de las celdas de la cuadrícula. Este control de cuadrícula tiene cuatro columnas: Propiedad, Operador, Valor y Agrupación.

  • Propiedad. Puede escribir una referencia a una propiedad o seleccionar una en la lista desplegable de la celda. La lista contiene las propiedades del mensaje de entrada.

  • Operador. Puede escribir en esta celda o seleccionar un operador en la lista desplegable. Los valores que puede seleccionar son:

    Operando Significado
    == Es igual que
    != No es igual a
    < Es menor que
    <= Es menor o igual que
    > Es mayor que
    >= Es mayor o igual que
    Exists Exists
  • Value. Las celdas de la columna Valor pueden contener cualquier constante que escriba: un literal de cadena, un literal entero o null.

    Nota

    Si la propiedad seleccionada es de cadena, el valor deberá consignarse entre comillas. Por ejemplo, SMTP.From = "MyServer".

  • Agrupar. Esta columna le permite controlar la agrupación de los predicados. Las expresiones de filtro siempre se expresan en la forma disyuntiva normal (DNF) de modo que la agrupación se pueda determinar automáticamente. Y significa que el predicado se agrupará con el predicado siguiente, mientras que O supone que el predicado se separa del predicado de la siguiente fila. Los corchetes de color gris a la izquierda del control de cuadrícula aparecen cuando se agrupan predicados. Los grupos de predicados no se pueden anidar. Si no especifica un valor en esta celda, se utilizará el valor predeterminado Y.

    Por ejemplo, podría crear una expresión similar a lo siguiente:

    MSMQ.MsgID = 1

    Con este filtro, el grupo de puertos de envío sólo se suscribirá a mensajes cuyo Id. de mensaje de MSMQ sea 1.

    Puede crear expresiones adicionales y especificar la existencia de una relación con AND u OR entre estas expresiones y otras; por ejemplo:

    MSMQ.MsgID = 1 OR

    SMTP.From = "MyServer"

    En este caso, el grupo de puertos de envío se suscribirá a todos los mensajes cuyo Id. de mensaje de MSMQ sea 1 o que se hayan enviado desde un servidor SMTP denominado MyServer.

Etiqueta de sugerencia

Este campo proporciona directrices para el usuario. El texto de la etiqueta cambia según cuál sea la columna que contiene la celda activa. El texto muestra el nombre de la columna, seguido por el texto con las directrices, como se muestra a continuación:

  • Propiedad. Please select a property on the incoming message from the list (Seleccione una propiedad del mensaje de entrada en la lista).

  • Operador. Select an operator to compare the Property with the Value (Seleccione un operador para comparar la propiedad con el valor).

  • Value. Select a message property from the list, or type in a literal value (Seleccione una propiedad de mensaje de la lista o escriba un valor literal).

  • Agrupar. Specify how this row is to be grouped with the next row (Especifique cómo se agrupará esta fila con la siguiente). 'AND' will join the rows, and 'OR' will separate them ('Y' une las filas y 'O' las separa).

Botón Subir

Haga clic en él para mover hacia arriba la fila seleccionada. (En primer lugar, seleccione una fila haciendo clic en el botón de flecha derecha (>) situado en el lado izquierdo del control de cuadrícula).

Botón Bajar

Haga clic en él para mover hacia abajo la fila seleccionada. (En primer lugar, seleccione una fila haciendo clic en el botón de flecha derecha (>) situado en el lado izquierdo del control de cuadrícula).

Campo Se ha creado una expresión de filtro

Este cuadro de texto de solo lectura muestra la expresión a medida que la crea.

En esta sección

Uso de filtros con la forma Recibir mensaje