Tipos de variables de orquestación
Puede declarar variables de los tipos predefinidos siguientes:
Variables | |
---|---|
boolean | byte |
char | datetime |
Decimal | double |
int16 | int32 |
int64 | long |
sbyte | sola |
string | timespan |
uint16 | uint32 |
uint64 |
También puede declarar variables de algunos tipos basados en .NET a los que se hace referencia en su proyecto.
Consideraciones para declarar variables de orquestación
Cuando declare variables de orquestación, tenga en cuenta lo siguiente:
BizTalk Server admite propiedades de contexto multivalor para determinados escenarios de enrutamiento basados en contenido, pero no puede usar estas propiedades en orquestaciones.
Para que se admitan la suspensión y la rehidratación de las orquestaciones, todas las variables de orquestación deben ser almacenar su estado de forma persistente. Normalmente, esto se consigue por el tipo o clase de la variable que sea serializable o que permita secuencias.
Estos tipos basados en .NET (clases) deben ser clases serializables. Pueden implementar esto al ser declarados con el atributo “[Serializable]” o al implementar de forma explícita la interfaz .NET ISerializable (en el espacio de nombres System.Runtime.Serialization).
Si el tipo basado en .NET es realmente un contenedor al que se puede llamar en tiempo de ejecución (RCW) de un componente COM subyacente, ese componente debe implementar las interfaces necesarias para que el RCW sea una clase de .NET serializable (por ejemplo, IPersistStream, IPersistStreamInit).
Debido a que los tipos basados en .NET (o de COM subyacente) se ejecutan dentro del flujo de una orquestación, los métodos de estos tipos no deben retrasar la ejecución de la orquestación (por ejemplo, a través de la contención de recursos, etc.). Y todo uso que estas implementaciones de tipos hagan de los recursos afectará a la instancia de host en la que se ejecute la orquestación que llama.