Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Hay varias opciones disponibles para pasar datos a una actividad. Además de usar InArgument, se pueden desarrollar actividades que reciban datos mediante propiedades estándar de CLR o propiedades públicas ActivityAction. En este tema se describe cómo seleccionar el tipo de método adecuado.
Utilizar propiedades CLR
Al pasar datos a una actividad, las propiedades CLR (es decir, los métodos públicos que usan rutinas Get y Set para exponer datos) son la opción que tiene la mayoría de las restricciones. El valor de un parámetro pasado a una propiedad CLR debe conocerse cuando se compila la solución; este valor será el mismo para cada instancia del flujo de trabajo. De este modo, un valor pasado a una propiedad CLR es similar a una constante definida en el código; Este valor no puede cambiar durante la vida útil de la actividad y no se puede cambiar para distintas instancias de la actividad. MethodName es un ejemplo de una propiedad CLR expuesta por una actividad; el nombre del método que llama a la actividad no se puede cambiar en función de las condiciones del entorno de ejecución y será el mismo para cada instancia de la actividad.
Uso de argumentos
Los argumentos se deben usar cuando los datos solo se evalúan una vez durante la duración de la actividad; es decir, su valor no cambiará durante la vigencia de la actividad, pero el valor puede ser diferente para instancias diferentes de la actividad. Condition es un ejemplo de un valor que se evalúa una vez; por lo tanto, se define como un argumento. Text es otro ejemplo de un método que se debe definir como argumento, ya que solo se evalúa una vez durante la ejecución de la actividad, pero puede ser diferente para instancias diferentes de la actividad.
Uso de ActivityAction
Cuando los datos deben evaluarse varias veces durante la duración de la ejecución de una actividad, se debe usar un ActivityAction. Por ejemplo, la Condition propiedad se evalúa para cada iteración del While bucle. InArgument Si se usara para este propósito, el bucle nunca se cerraría, ya que el argumento no se volvería a evaluar para cada iteración y siempre devolvería el mismo resultado.