Uso de la actividad ReplicatorActivity

La actividad ReplicatorActivity le permite crear un número arbitrario de instancias de una actividad única durante el tiempo de ejecución. Cada actividad ReplicatorActivity puede contener sólo una actividad secundaria, pero el elemento secundario puede ser una actividad compuesta.

De forma predeterminada, la actividad ReplicatorActivity finaliza cuando todas las actividades secundarias han finalizado. Puede utilizar la propiedad UntilCondition para detener la ejecución de ReplicatorActivity antes de la realización de las instancias de actividad secundarias. Para obtener más información sobre las condiciones, consulte Uso de condiciones en flujos de trabajo.

Nota

La actividad ReplicatorActivity no responde si todas las actividades secundarias han finalizado y la propiedad UntilCondition se evalúa como false. Cuando la actividad ReplicatorActivity se queda inactiva de esta manera, puede utilizar un cambio de flujo de trabajo para agregar una actividad secundaria a la actividad ReplicatorActivity que hará que UntilCondition se evalúe como true.

ReplicatorActivity requiere dos partes clave de información:

  • La propiedad ExecutionType debe establecerse en Secuencial o Paralela. La propiedad ExecutionType indica si las instancias de actividad secundarias replicadas se ejecutan en paralelo, en cuyo caso se crean todas las instancias cuando se ejecuta la actividad ReplicatorActivity, o secuencialmente, en cuyo caso, cada instancia de la actividad secundaria se ejecuta por turnos, después de la finalización de la anterior instancia.

  • La propiedad de colección InitialChildData se debe rellenar para proporcionar los datos para cada réplica de instancia de la actividad secundaria.

Puede implementar el controlador Initialized, que se genera antes de que ReplicatorActivity empiece a ejecutarse, para rellenar la propiedad de colección InitialChildData y establecer ExecutionType.

También puede especificar controladores para que los eventos siguientes los utilicen junto con la actividad ReplicatorActivity:

  • El evento ChildInitialized que se provoca cada vez que una instancia de la actividad secundaria se inicializa pasa los datos del elemento en la colección InitialChildData a la instancia real del elemento secundario que se inicializa. ReplicatorChildEventArgs contiene los argumentos de evento para este controlador.

  • El evento ChildCompleted que se provoca cada vez que una instancia de la actividad secundaria finaliza. ReplicatorChildEventArgs contiene los argumentos de evento para este controlador.

  • El evento Completed que se provoca después de que finalice ReplicatorActivity.

Cuando se ejecuta una actividad secundaria más de una vez, se crea una instancia independiente de la actividad secundaria para cada iteración. Esto permite que las instancias se ejecuten independientemente (y potencialmente en paralelo, como en el caso de la actividad ConditionedActivityGroup ). En consecuencia, la definición de la actividad en el árbol de actividad (al que se hace referencia como plantilla) nunca se ejecuta y siempre estará en el estado Initialized. La actividad compuesta, que es el elemento primario de la plantilla, proporciona acceso a las instancias en ejecución de la plantilla. En el caso de una actividad ReplicatorActivity, puede haber, por ejemplo, varias instancias activas, por lo que ReplicatorActivity.DynamicActivities devuelve una colección de las instancias en ejecución de la actividad secundaria.

Para obtener más información, consulte la clase ReplicatorActivity del espacio de nombres System.Workflow.Activities en la referencia de biblioteca de clases de Windows Workflow Foundation.

Si desea consultar un ejemplo de código que muestra cómo utilizar la actividad ReplicatorActivity, consulte Using Replicator.

Consulte también

Referencia

ReplicatorActivity
ReplicatorChildEventArgs

Conceptos

Uso de condiciones en flujos de trabajo
Visión general de reglas y condiciones

Otros recursos

Replicator Sample
Actividades de Windows Workflow Foundation

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.