Novedades de Windows Workflow Foundation
Windows Workflow Foundation (WF) en .NET Framework 4 cambia varios paradigmas de desarrollo de versiones anteriores. Los flujos de trabajo son ahora más fáciles de crear, ejecutar, mantener e implementan un host de nuevas funciones. Para más información sobre cómo migrar aplicaciones de flujo de trabajo de .NET Framework 3.0 y .NET Framework 3.5 para usar la versión más reciente, consulte Guía de migración.
Modelo de la actividad de flujo de trabajo
La actividad es ahora la unidad base para crear un flujo de trabajo, en lugar de usar las clases SequentialWorkflowActivity o StateMachineWorkflowActivity. La clase Activity proporciona la abstracción básica del comportamiento del flujo de trabajo. Los autores de actividad pueden implementar CodeActivity para la funcionalidad de actividad personalizada básica o NativeActivity para la funcionalidad de actividad personalizada que usa toda la riqueza del runtime. Activity es una clase que usan los autores de actividad para expresar nuevos comportamientos mediante declaración en términos de otros objetos NativeActivity, CodeActivity, AsyncCodeActivity o DynamicActivity, tanto si están desarrollados de forma personalizada como incluidos en la biblioteca de actividades integrada.
Opciones de actividad compuestas y enriquecidas
Flowchart es una nueva actividad eficaz de flujo de control que permite a los autores modelar bucles arbitrarios y bifurcaciones condicionales. Flowchart proporciona un modelo de programación controlado por eventos que anteriormente solo se podía implementar con StateMachineWorkflowActivity. Los flujos de trabajo de procedimiento se benefician de las nuevas actividades de control de flujo que modelan las estructuras de control de flujo tradicionales, como TryCatch y Switch<T>.
Biblioteca de actividades integrada y expandida
Las nuevas características de la biblioteca de actividades incluyen:
Nuevas actividades de control de flujo: DoWhile, Pick, TryCatch, ForEach<T>, Switch<T> y ParallelForEach<T>.
Actividades para manipular los datos de miembros, como Assign y actividades de colección como AddToCollection<T>.
Actividades para controlar las transacciones, como TransactionScope y Compensate.
Nuevas actividades de mensajería como SendContent y ReceiveReply.
Modelo de datos de actividad explícito
.NET Framework 4 incluye las nuevas opciones para almacenar o mover los datos. Se pueden almacenar datos en una actividad usando Variable. Al mover datos hacia dentro de una actividad y fuera de ella, los tipos de argumento especializados se usan para determinar la dirección en la que se están moviendo los datos. Estos tipos son InArgument, InOutArgument y OutArgument. Para más información, consulte Modelo de datos de Windows Workflow Foundation.
Hospedaje, persistencia y opciones de seguimiento mejoradas
.NET Framework 4 contiene mejoras de persistencia como las siguientes:
Hay más opciones para ejecutar los flujos de trabajo, incluidas WorkflowServiceHost, WorkflowApplication y WorkflowInvoker.
Se pueden conservar explícitamente los datos de estado del flujo de trabajo mediante la actividad Persist.
Un host puede conservar un ActivityInstance sin descargarlo.
Los flujos de trabajo pueden especificar zonas sin conservación mientras trabajan con datos que no se pueden conservar, de manera que la persistencia se posponga hasta que salga la zona sin conservación.
Las transacciones se pueden fluir en un flujo de trabajo mediante TransactionScope.
El seguimiento puede llevarse a cabo de una forma más sencilla con TrackingParticipant.
Se proporciona el seguimiento del registro de eventos del sistema mediante EtwTrackingParticipant.
Actualmente, reanudar un flujo de trabajo pendiente se administra mediante un objeto Bookmark.
Mejor capacidad para ampliar la experiencia de diseñador de WF
El nuevo diseñador de WF se compila en Windows Presentation Foundation (WF) y proporciona un modelo más fácil de utilizar cuando se vuelve a hospedar el diseñador de WF fuera de Visual Studio. Además, también proporciona mecanismos más sencillos para crear diseñadores de actividades personalizados. Para más información, consulte Personalización de la experiencia de diseño del flujo de trabajo.