Superficie de confianza de Workflow Manager 1.0

 

Publicada: abril de 2016

Workflow Manager 1.0 presenta la noción de una superficie de confianza a los flujos de trabajo de autor.Una superficie de confianza es un conjunto de tipos y actividades de confianza disponibles para los usuarios con el fin de que puedan crear sus flujos de trabajo.Los autores crean flujos de trabajo de manera declarativa mediante composiciones de esos tipos y actividades.Los tipos permitidos se restringen mediante una lista de tipos permitidos que contiene el conjunto de tipos permitidos en el sistema.Cuando está activada la lista blanca, las definiciones de flujo de trabajo se comprobarán en el momento de la carga para garantizar que se usan solo los tipos permitidos.En este tema se proporciona una introducción de la creación de flujos de trabajo declarativos mediante la superficie de confianza de Workflow Manager 1.0.

Creación de flujos de trabajo declarativos para Workflow Manager 1.0

Los flujos de trabajo que se hospedan en Workflow Manager 1.0 son completamente declarativos y se crean mediante una superficie de confianza a través de la actualización 4.0.3 para Microsoft .NET Framework 4 y Windows Workflow Foundation (WF4).Para crear un flujo de trabajo para Workflow Manager 1.0, se usan actividades, expresiones y variables de la superficie de confianza.Las actividades que se usan pueden provenir de la lista de actividades aprobadas y es posible usar actividades XAML personalizadas compuestas de actividades de confianza.No se permiten expresiones de Visual Basic en la definición de flujo de trabajo hospedada en Workflow Manager 1.0. Sin embargo, se pueden usar actividades de expresión del espacio de nombres de Microsoft.Activities.Expressions a la hora de crear flujos de trabajo.Las expresiones se traducen en actividades admitidas antes de que la definición de flujo de trabajo se cargue en Workflow Manager 1.0.Las variables del flujo de trabajo se limitan a los tipos de datos de la superficie de confianza.

Los flujos de trabajo se pueden crear mediante el diseñador de flujos de trabajos de Visual Studio, al crear XAML directamente a través de un diseñador hospedado o en código mediante la creación de una actividad a través del elemento ActivityBuilder que deriva de la actividad y se serializa en Xaml.Para obtener ejemplos de Workflow Manager 1.0, consulte Ejemplos de Workflow Manager 1.0.

 Workflow Manager 1.0Superficie de confianza

La superficie de confianza de Workflow Manager 1.0 consta de tipos y actividades de flujo de trabajo de .NET Framework versión 4, así como los nuevos tipos introducidos en Workflow Manager 1.0.Se admiten muchos tipos y se admite la mayoría de las actividades predefinidas.En la tabla siguiente se incluyen los tipos admitidos.Para cada uno de estos tipos admitidos, hay un conjunto correspondiente de actividades para la manipulación de estos tipos.

Tipo

Actividades admitidas

Cadena

Actividades de cadena

Compatibilidad para fechas mediante DateTime y TimeSpan

Actividades de fecha

Compatibilidad para elementos numéricos mediante Int32 y doble

Actividades tipo numéricas

Booleano

Actividades booleanas

Guid

Actividades de GUID

ICollection, incluido IList

Actividades de colección

IDictionary y KeyValuePair

IDictionary

DynamicValue

Actividades DynamicValue

Excepción

Actividades de excepción

URI

Actividades URI

Nota

Además de las actividades para admitir expresiones y la manipulación de tipo primitiva, Workflow Manager 1.0 introduce actividades para admitir expresiones, mensajería, seguridad, manipulación de datos y configuración.Para obtener más información sobre estas actividades, consulte Introducción a Workflow Manager 1.0.Estas actividades forman parte de la superficie de confianza.

Además de las nuevas actividades introducidas en Workflow Manager 1.0, se admiten con las excepciones indicadas las siguientes actividades WF4 de los ensamblados de flujo de trabajo y los respectivos espacios de nombres enumerados.

  • System.Activities.dll

    • Todas las actividades excepto

      • InvokeMethod

      • InvokeMethod<T>

      • New<T>

      • Cast<T>

      • VisualBasicValue<T>

      • VisualBasicReference<T>

      • LambdaValue<T>

      • LambdaReference<T>

      • TransactionScope

      • Persist

      • La mayoría de las actividades en System.Activities.Expressions no se admite, pero hay actividades equivalentes en los ensamblados de Microsoft.Workflow.*.

        Se admiten VariableValue<T>, VariableReference<T>, ArgumentValue<T> y ArgumentReference<T>.

Nota

Es posible que los autores de flujos de trabajo desconozcan algunas de las actividades de esta porque no se usan directamente, sino cuando las expresiones se traducen en actividades.

System_CAPS_importantImportante

Tenga en cuenta que si bien no se admiten algunos elementos, como por ejemplo, expresiones de Visual Basic, no significa que no puede usarlos en sus flujos de trabajo.Significa que estos elementos no pueden formar parte de las definiciones de flujo de trabajo que se hospedan en Workflow Manager 1.0.Antes de cargarse en Workflow Manager 1.0, los flujos de trabajo se deben traducir.La traducción es el proceso de evaluar expresiones y convertirlas para usar actividades admitidas desde la superficie de confianza.

En la tabla siguiente se incluye información adicional acerca de algunas de las actividades que no están disponibles en la superficie de confianza de Workflow Manager 1.0.

Actividad

Descripción

Motivo por el que no está disponible

InvokeMethod/InvokeMethod<TResult>

Invoca una instancia o método público estático en un tipo en el ámbito.El método podría tener opcionalmente un valor de devolución.

El método podría contener código de cliente malintencionado o arbitrario.

New<TResult>

Cree una nueva instancia de un tipo.

El constructor podría contener código malintencionado.

> [!Note] > Se admite New<Uri>.

Cast<TOperand, TResult>

Convierte un tipo en otro.

Resulta en la invocación del constructor en el tipo de resultado.El constructor en el tipo de resultado podría contener código malintencionado.

PropertyValue<TResult>

Invoca un captor de propiedades.

El captor podría contener código de cliente malintencionado o arbitrario.

PropertyReference<TResult>

Invoca un establecedor de propiedades.

El establecedor podría contener código de cliente malintencionado o arbitrario.

VisualBasicValue<TResult>

Evalúa una expresión de Visual Basic que devuelve un valor.

Puede ejecutar código de Visual Basic arbitrario y potencialmente malintencionado.

VisualBasicReference<TResult>

Evalúa una expresión de Visual Basic que devuelve una referencia de ubicación.

Puede ejecutar código de Visual Basic arbitrario y potencialmente malintencionado.

LambdaValue<TResult>

Evalúa una expresión lambda que devuelve un valor.

Puede ejecutar código de C# o Visual Basic arbitrario y potencialmente malintencionado.

LambdaReference<TResult>

Evalúa una expresión lambda que devuelve una referencia de ubicación.

Puede ejecutar código de C# o Visual Basic arbitrario y potencialmente malintencionado.