Compartir a través de


Usar actividades de WF de .NET Framework 3.0 en .NET Framework 4 con la actividad Interop

Este tema es aplicable a Windows Workflow Foundation 4.

La actividad Interop es una actividad de .NET Framework 4 (WF 4) que ajusta una actividad de .NET Framework 3,5 (WF 3.5) dentro de un flujo de trabajo de .NET Framework 4. La actividad WF 3 puede ser una actividad de hoja única o un árbol completo de actividades. La ejecución (incluso la cancelación y el control de excepciones) y la persistencia de la actividad de .NET Framework 3,5 se producen en el contexto de la instancia de flujo de trabajo de .NET Framework 4 que está ejecutando.

Ee264173.note(es-es,VS.100).gif Nota: de Visual Basic
La actividad Interop no aparece en el cuadro de herramientas del diseñador de flujo de trabajo a menos que el proyecto del flujo de trabajo tenga la opción Versión de .NET Framework de destino definida en .NET Framework 4.

Criterios para usar una actividad WF 3 con una actividad de interoperabilidad

Para ejecutar una actividad WF3 dentro de una actividad Interop, se deben cumplir los siguientes criterios:

Configurar una actividad WF 3 dentro de una actividad de interoperabilidad

Para configurar y pasar datos dentro y fuera de una actividad WF 3 (a través del límite de interoperabilidad), la actividad Interop expone las propiedades de los metadatos y de la actividad WF 3. Las propiedades de metadatos de la actividad WF 3 (como Name) se exponen a través de la colección de ActivityMetaProperties. Se trata de una colección de valores nombre-valor que se usa para definir los valores para las propiedades de metadatos de la actividad WF 3. Una propiedad de metadatos es una propiedad respaldada por la propiedad de dependencia para la que se define la marca Metadata.

Las propiedades de la actividad WF 3 se exponen mediante la colección de ActivityProperties. Se trata de un conjunto de pares nombre-valor, en el que cada valor es un objeto Argument que se usa para definir los argumentos para las propiedades de la actividad WF 3. Dado que no se puede deducir la dirección de una propiedad de la actividad WF 3, cada propiedad aparece como un par InArgument/OutArgument. Dependiendo del uso de la actividad de la propiedad, es posible que desee proporcionar una entrada InArgument, una entrada OutArgument o ambas. El nombre que se espera para la entrada InArgument en la colección es el nombre de la propiedad tal y como se define en la actividad WF 3. El nombre que espera la entrada OutArgument en la colección es una concatenación del nombre de la propiedad y la cadena “Out”.

Limitaciones de usar una actividad WF 3 dentro de una actividad de interoperabilidad

Las actividades WF 3 proporcionadas por el sistema no se pueden encapsular en una actividad Interop. Para algunas actividades WF 3, como DelayActivity, esto se debe a que hay una actividad WF 4 análoga. En otros casos, esto se debe a que no se admite la funcionalidad de la actividad. Se pueden usar muchas actividades proporcionadas por el sistema WF 3 dentro de los flujos de trabajo encapsulados por la actividad Interop, aunque sujetas a las siguientes restricciones:

  1. No se puede usar Send y Receive en una actividad Interop.

  2. No se pueden usar WebServiceInputActivity, WebServiceOutputActivity y WebServiceFaultActivity en una actividad Interop.

  3. No se puede usar InvokeWorkflowActivity en una actividad Interop.

  4. No se puede usar SuspendActivity en una actividad Interop.

  5. Las actividades relacionadas con la compensación no se pueden usar dentro de una actividad Interop.

Hay también algunas características de comportamiento que entender según el uso de las actividades WF 3 dentro de la actividad Interop:

  1. Las actividades WF 3 incluidas en una actividad Interop se inicializan cuando se ejecuta la actividad Interop. En WF 4 no hay ninguna fase de inicialización para una instancia de flujo de trabajo antes de su ejecución.

  2. El tiempo de ejecución de WF 4 no controla el estado de la instancia de flujo de trabajo cuando comienza una transacción, independientemente del lugar donde empiece (dentro o fuera de una actividad Interop ).

  3. Los registros de seguimiento de WF 3 para las actividades dentro de una actividad Interop se proporcionan a los participantes de seguimiento de WF 4 como objetos InteropTrackingRecord. InteropTrackingRecord es un derivado de CustomTrackingRecord.

  4. Una actividad personalizada WF 3 puede tener acceso a los datos usando las colas del flujo de trabajo incluidas en el entorno de interoperación exactamente de la misma manera que dentro del tiempo de ejecución del flujo de trabajo de WF 3. No se requiere ningún cambio en el código de actividad personalizado. En el host, los datos son colocan en una cola de flujo de trabajo de WF 3 al reanudar Bookmark. El nombre del marcador es la forma de la cadena del nombre de la cola de flujo de trabajo IComparable.

Vea también

Tareas

Usar una actividad de .NET Framework 3.0 o .NET Framework 3.5 en un flujo de trabajo de .NET Framework 4