Compartir a través de


Compatibilidad con nuevas características de Workflow Foundation 4.5 en el Diseñador de flujos de trabajo rehospedado

Windows Workflow Foundation (WF) en .NET Framework 4.5 introdujo muchas características nuevas, incluidas varias mejoras en la experiencia del diseñador de flujos de trabajo. En este tema se detallan las características admitidas en el diseñador rehospedado y las que no se admiten.

Nota:

Para obtener una lista de todas las nuevas características de Windows Workflow Foundation (WF) introducidas en .NET Framework 4.5, incluidas aquellas que no están relacionadas con el rehospedaje del diseñador, consulte Novedades de Windows Workflow Foundation en .NET Framework 4.5.

Actividades

La biblioteca de actividades integrada contiene nuevas actividades y nuevas características para las actividades existentes. Todas estas nuevas actividades se admiten en el diseñador rehospedado. Para obtener más información sobre estas nuevas actividades, consulte la sección Actividades de Novedades de Windows Workflow Foundation en .NET Framework 4.5.

Expresiones de C#

Antes de .NET Framework 4.5, todas las expresiones de los flujos de trabajo solo se podían escribir en Visual Basic. En .NET Framework 4.5, las expresiones de Visual Basic solo se usan para los proyectos creados con Visual Basic. Los proyectos de Visual C# ahora usan C# para expresiones. Al crear flujos de trabajo en Visual Studio 2012, se proporciona un editor de expresiones de C# totalmente funcional, con funcionalidades como el resaltado de sintaxis e IntelliSense. Los proyectos de flujo de trabajo de C# creados en versiones anteriores que usan expresiones de Visual Basic seguirán funcionando.

Advertencia

Las expresiones de C# no se admiten en el diseñador rehospedado.

Nuevas funcionalidades del diseñador

Las características búsqueda rápida y búsqueda en archivos introducidas con .NET Framework 4.5 no se admiten en el diseñador rehospedado. La búsqueda de Toolbox se admite en el diseñador rehospedado. Para obtener más información sobre estas características, consulte Búsqueda del diseñador.

Advertencia

La búsqueda rápida y la búsqueda en archivos no se admiten en el diseñador rehospedado.

Eliminar elemento de menú contextual en el diseñador de variables y argumentos

En .NET Framework 4, las variables y los argumentos solo se pueden eliminar en el diseñador mediante el teclado. A partir de .NET Framework 4.5, se pueden eliminar variables y argumentos mediante el menú contextual. Esta característica se admite en el diseñador rehospedado.

En la captura de pantalla siguiente se muestra el menú contextual del diseñador de variables y argumentos.

Menú contextual del Diseñador de variables y argumentos

Rodear de forma automática con secuencia

Dado que un flujo de trabajo o determinadas actividades de contenedor (como NoPersistScope) solo pueden contener una sola actividad de cuerpo, agregar una segunda actividad requiere que el desarrollador elimine la primera actividad, agregue una Sequence actividad y, a continuación, agregue ambas actividades a la actividad de secuencia. A partir de .NET Framework 4.5, al agregar una segunda actividad a la superficie del diseñador, se creará automáticamente una Sequence actividad para envolver ambas actividades. Esta característica se admite en el diseñador rehospedado.

La captura de pantalla siguiente muestra una actividad WriteLine en Body de NoPersistScope.

Actividad WriteLine en el cuerpo de una actividad NoPersistScope.

La captura de pantalla siguiente muestra la actividad Sequence creada automáticamente en Body cuando se coloca un segundo elemento WriteLine debajo del primero.

Secuencia creada automáticamente en el cuerpo de un elemento NoPersistScope.

Modo panorámico

Para navegar más fácilmente por un flujo de trabajo grande en el diseñador, se puede habilitar el modo panorámico, lo que permite al desarrollador hacer clic y arrastrar para mover la parte visible del flujo de trabajo, en lugar de necesitar usar las barras de desplazamiento. El botón para activar el modo panorámico está en la esquina inferior derecha del diseñador. Esta característica se admite en el diseñador rehospedado.

En la captura de pantalla siguiente se muestra el botón de panorámica que se encuentra en la esquina inferior derecha del diseñador de flujo de trabajo.

Botón de panorámica resaltado en el diseñador de flujo de trabajo.

El botón central del mouse o la barra espaciadora también se pueden usar para desplazar el diseñador de flujos de trabajo.

Selección múltiple

Se pueden seleccionar varias actividades a la vez, ya sea arrastrando un rectángulo alrededor de ellas (cuando el modo panorámico no está habilitado) o manteniendo presionada la tecla Ctrl y haciendo clic en las actividades deseadas una por una. Esta característica se admite en el diseñador rehospedado.

También se pueden arrastrar y colocar varias selecciones de actividad en el diseñador, y se puede interactuar con ellas usando el menú contextual.

Vista de esquema de elementos del flujo de trabajo

Para facilitar la navegación de los flujos de trabajo jerárquicos, los componentes de un flujo de trabajo se muestran en una vista esquema de estilo de árbol. La vista Esquema se muestra en la vista Esquema del documento. Para abrir esta vista en Visual Studio, en el menú superior, seleccione Ver, Otras ventanas, Esquema del documento o presione Ctrl W,U. Al hacer clic en un nodo en la vista esquema, se desplazará a la actividad correspondiente en el diseñador de flujo de trabajo y se actualizará la vista esquema para mostrar las actividades seleccionadas en el diseñador. Esta característica se admite en el diseñador rehospedado.

En la captura de pantalla siguiente del flujo de trabajo completado del Tutorial de introducción se muestra la vista de esquema con un flujo de trabajo secuencial.

Captura de pantalla de la vista de esquema con un flujo de trabajo secuencial en Visual Studio

Más control de la visibilidad de los elementos de barra y de encabezado de shell

En un diseñador rehospedado, algunos de los controles estándar de la interfaz de usuario pueden no tener significado para un flujo de trabajo determinado y se pueden desactivar. En .NET Framework 4, esta personalización solo es compatible con la barra de shell en la parte inferior del diseñador. En .NET Framework 4.5, la visibilidad de los elementos de encabezado del shell en la parte superior del diseñador se puede ajustar estableciendo WorkflowShellHeaderItemsVisibility con el valor adecuado ShellHeaderItemsVisibility .

Conexión e inserción automáticas en flujos de trabajo de diagrama de flujo y de máquina de estados

En .NET Framework 4, las conexiones entre nodos de un flujo de trabajo de diagrama de flujo tenían que agregarse manualmente. En .NET Framework 4.5, los nodos Diagrama de flujo y Máquina de estado tienen puntos de conexión automática que se vuelven visibles cuando se arrastra una actividad desde el cuadro de herramientas a la superficie del diseñador. Al colocar una actividad en uno de estos puntos se agrega automáticamente la actividad junto con la conexión necesaria.

En la captura de pantalla siguiente se muestran los puntos adjuntos que se vuelven visibles cuando se arrastra una actividad desde el cuadro de herramientas.

Nodo de inicio del diagrama de flujo que muestra puntos de conexión automática

Las actividades también se pueden arrastrar a las conexiones entre nodos y estados del diagrama de flujo para insertar automáticamente un nodo entre otros dos. La captura de pantalla siguiente muestra la línea de conexión resaltada donde se pueden arrastrar y colocar actividades del cuadro de herramientas.

Controlador de inserción automática para colocar actividades

La conexión y la inserción automáticas se admiten en el diseñador rehospedado.

Anotaciones del diseñador

Para facilitar el desarrollo de flujos de trabajo más grandes, el diseñador ahora admite la adición de anotaciones para ayudar a realizar un seguimiento del proceso de diseño. La anotación se puede agregar a actividades, estados, nodos de diagrama de flujo, variables y argumentos. En la captura de pantalla siguiente se muestra el menú contextual que se usa para agregar anotaciones al diseñador.

Captura de pantalla que muestra el menú para agregar notaciones.

Las anotaciones de diseñador se admiten en el diseñador rehospedado.

Definir y consumir objetos ActivityDelegate en el diseñador

Las actividades de .NET Framework 4 usan ActivityDelegate objetos para exponer puntos de ejecución en los que otras partes del flujo de trabajo podrían interactuar con la ejecución de un flujo de trabajo, pero el uso de estos puntos de ejecución normalmente requería una cantidad razonable de código. En esta versión, los desarrolladores pueden definir y consumir delegados de actividad mediante el diseñador de flujos de trabajo. Para más información, consulte Definición y consumo de delegados de actividad en el Diseñador de flujo de trabajo.

Los delegados de actividad se admiten en el diseñador rehospedado.

Validación en tiempo de compilación

En .NET Framework 4, los errores de validación de flujo de trabajo no se contaron como errores de compilación durante la compilación de un proyecto de flujo de trabajo. Esto significaba que la compilación de un proyecto de flujo de trabajo se podía realizar correctamente incluso cuando se produjeron errores de validación de flujo de trabajo. En .NET Framework 4.5, los errores de validación de flujo de trabajo provocan un error en la compilación.

Advertencia

La validación en tiempo de compilación no se admite en el diseñador rehospedado.

Validación en segundo plano en tiempo de diseño

En .NET Framework 4, los flujos de trabajo se validaron como un proceso en primer plano, lo que podría bloquear la interfaz de usuario durante procesos de validación complejos o lentos. La validación del flujo de trabajo ahora tiene lugar en un subproceso en segundo plano, de modo que la interfaz de usuario no esté bloqueada.

La validación en segundo plano en tiempo de diseño se admite en el diseñador rehospedado.

Ver el estado ubicado en una ubicación independiente en archivos XAML

En .NET Framework 4, la información de estado de vista de un flujo de trabajo se almacena en el archivo XAML en muchas ubicaciones diferentes. Esto es inconveniente para los desarrolladores que quieran leer XAML directamente o escribir código para quitar la información de estado de vista. En .NET Framework 4.5, la información de estado de vista del archivo XAML se serializa como un elemento independiente en el archivo XAML. Los desarrolladores pueden localizar y editar fácilmente la información de estado de vista de una actividad o quitar el estado de vista por completo.

Esta característica se admite en el diseñador de flujo de trabajo rehospedado.

Habilitación de las características de flujo de trabajo 4.5 en el diseñador rehospedado

Para conservar la compatibilidad con versiones anteriores, algunas características nuevas incluidas en .NET Framework 4.5 no están habilitadas de forma predeterminada en el diseñador rehospedado. Esto es para asegurarse de que las aplicaciones existentes que usan el diseñador reubicado no queden inoperativas al actualizarse a la última versión. Para habilitar nuevas características en el diseñador rehospedado, establezca TargetFrameworkName en ".Net Framework 4.5" o establezca miembros individuales de DesignerConfigurationService para habilitar características individuales.

Nuevos modelos de desarrollo de flujo de trabajo

Además de los modelos de desarrollo de flujo de trabajo de diagrama de flujo y secuenciales, esta versión incluye flujos de trabajo de máquina de estados y servicios de flujo de trabajo de contrato primero.

Flujos de trabajo de máquina de estados

Los flujos de trabajo de máquina de estado se introdujeron como parte de .NET Framework 4.0.1 en Microsoft .NET Framework 4 Platform Update 1. Esta actualización incluía varias clases y actividades nuevas que permitían a los desarrolladores crear flujos de trabajo de máquina de estado. Estas clases y actividades se han actualizado para .NET Framework 4.5. Las actualizaciones incluyen:

  1. Capacidad de establecer puntos de interrupción en estados

  2. La capacidad de copiar y pegar transiciones en el diseñador de flujo de trabajo

  3. Compatibilidad del diseñador para la creación de transiciones de desencadenador compartidas

  4. Actividades usadas para crear flujos de trabajo de State Machine, incluidos: StateMachine, Statey Transition

En la captura de pantalla siguiente se muestra el flujo de trabajo de máquina de estado completado del Tutorial de introducción paso Cómo: Crear un flujo de trabajo de máquina de estado.

Ilustración en la que se muestra el flujo de trabajo de máquina de estados completado.

Para obtener más información sobre cómo crear flujos de trabajo de máquinas de estado, consulte Flujos de trabajo de máquinas de estado. Los flujos de trabajo de máquina de estados se admiten en el diseñador rehospedado.

Desarrollo de flujo de trabajo de contrato primero

La herramienta de desarrollo de flujo de trabajo basado en contratos permite al desarrollador diseñar un contrato primero en el código y luego, con unos pocos clics en Visual Studio, generar automáticamente una plantilla de actividad en el panel de herramientas que representa cada operación. A continuación, estas actividades se usan para crear un flujo de trabajo que implemente las operaciones definidas por el contrato. El diseñador de flujo de trabajo validará el servicio de flujo de trabajo para asegurarse de que estas operaciones se implementan y la firma del flujo de trabajo coincide con la firma del contrato. El desarrollador también puede asociar un servicio de flujo de trabajo a una colección de contratos implementados. Para obtener más información sobre el desarrollo de servicios de flujo de trabajo basados en contratos, consulte Creación de un servicio de flujo de trabajo que consume un contrato de servicio existente.

Advertencia

El desarrollo de flujos de trabajo basado en contratos no está soportado en el diseñador de flujos de trabajo.