Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

StateMachineWorkflowActivity (Clase)

Actúa como el contenedor raíz para los flujos de trabajo de equipo de estado.Contiene estados y actividades orientadas a eventos.

Espacio de nombres:  System.Workflow.Activities
Ensamblado:  System.Workflow.Activities (en System.Workflow.Activities.dll)

[ActivityValidatorAttribute(typeof(StateActivityValidator))]
[ComVisibleAttribute(false)]
[ToolboxBitmapAttribute(typeof(StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")]
public class StateMachineWorkflowActivity : StateActivity

El tipo StateMachineWorkflowActivity expone los siguientes miembros.

  NombreDescripción
Método públicoStateMachineWorkflowActivity()Inicializa una nueva instancia de la clase StateMachineWorkflowActivity.
Método públicoStateMachineWorkflowActivity(String)Inicializa una nueva instancia de la clase StateMachineWorkflowActivity con el nombre de la actividad.
Arriba

  NombreDescripción
Propiedad públicaActivitiesObtiene el objeto que representa la colección, ActivityCollection, o bien todas las actividades secundarias. (Se hereda de CompositeActivity).
Propiedad protegidaCanModifyActivitiesObtiene o establece un valor que controla si se pueden modificar las actividades individuales de Activities. (Se hereda de CompositeActivity).
Propiedad públicaCompletedStateNameObtiene o establece la clase StateActivity final del flujo de trabajo.
Propiedad públicaCurrentStateNameObtiene el nombre del objeto StateActivity que se ejecuta actualmente.
Propiedad públicaDescriptionObtiene o establece la descripción definida por el usuario de Activity. (Se hereda de Activity).
Propiedad protegidaDesignModeObtiene el valor que indica si esta instancia está en modo de diseño o de tiempo de ejecución. (Se hereda de DependencyObject).
Propiedad públicaDynamicUpdateConditionObtiene o establece una ActivityCondition que determina si se pueden realizar las actualizaciones dinámicas en el flujo de trabajo cuando se invalida en una clase derivada.
Propiedad públicaEnabledObtiene o establece un valor que indica si esta instancia está habilitada para la ejecución y validación. (Se hereda de Activity).
Propiedad públicaEnabledActivitiesObtiene la colección de solo lectura que representa el subconjunto de Activities que están habilitadas. (Se hereda de CompositeActivity).
Propiedad públicaExecutionResultObtiene ActivityExecutionResult del último intento para ejecutar esta instancia. (Se hereda de Activity).
Propiedad públicaExecutionStatusObtiene el ActivityExecutionStatus actual de esta instancia de. (Se hereda de Activity).
Propiedad públicaInitialStateNameObtiene o establece la StateActivity en la que se encuentra StateMachineWorkflowActivity cuando se crea una instancia del equipo de estado.
Propiedad públicaIsDynamicActivityObtiene información sobre si la actividad se está ejecutando dentro del ActivityExecutionContext predeterminado de la instancia de flujo de trabajo. (Se hereda de Activity).
Propiedad públicaNameObtiene o establece el nombre de esta instancia.Este nombre debe seguir la convención de nomenclatura de variables del lenguaje de programación que se utiliza en el proyecto del flujo de trabajo. (Se hereda de Activity).
Propiedad públicaParentObtiene el CompositeActivity que contiene este Activity. (Se hereda de Activity).
Propiedad protegidaParentDependencyObjectObtiene el elemento primario DependencyObject en el gráfico DependencyObject. (Se hereda de DependencyObject).
Propiedad públicaPreviousStateNameObtiene el nombre de la StateActivity ejecutada anteriormente.
Propiedad públicaQualifiedNameObtiene el nombre completo de la actividad.Los nombres de la actividad completos siempre son únicos en una instancia de flujo de trabajo. (Se hereda de Activity).
Propiedad públicaSiteObtiene o establece una referencia al componente Site de DependencyObject. (Se hereda de DependencyObject).
Propiedad públicaUserDataObtiene IDictionary que asocia los datos personalizados a esta instancia de clase. (Se hereda de DependencyObject).
Propiedad protegidaWorkflowInstanceIdObtiene la Guid asociado a la instancia. (Se hereda de Activity).
Arriba

  NombreDescripción
Método públicoAddHandlerAgrega un controlador para un evento de DependencyObject. (Se hereda de DependencyObject).
Método protegidoApplyWorkflowChangesAplica el manifiesto WorkflowChanges del parámetro a esta instancia. (Se hereda de CompositeActivity).
Método protegidoCancelCancela la ejecución de StateActivity. (Se hereda de StateActivity).
Método públicoCloneCrea una copia en profundidad del Activity. (Se hereda de Activity).
Método públicoDispose()Libera todos los recursos utilizados por DependencyObject. (Se hereda de DependencyObject).
Método protegidoDispose(Boolean)Llama a Dispose en esta instancia y opcionalmente llama a Dispose en todas las actividades secundarias de esta instancia. (Se hereda de CompositeActivity).
Método públicoEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoExecuteEjecuta StateActivity. (Se hereda de StateActivity).
Método protegidoFinalizeProporcionado como una invalidación a Object.Finalize para limpiar los recursos no administrados determinadamente. (Se hereda de DependencyObject).
Método públicoGetActivityByName(String)Devuelve la instancia de Activity cuyo nombre se solicita del conjunto de todas las actividades que se ejecutan bajo la actividad raíz de esta instancia que se encuentra dentro del flujo de trabajo. (Se hereda de Activity).
Método públicoGetActivityByName(String, Boolean)Devuelve la instancia de Activity cuyo nombre se solicita de conjunto de todas las actividades bajo la Activity raíz de esta instancia si el segundo parámetro es false y bajo la Activity actual si el segundo parámetro es true. (Se hereda de Activity).
Método públicoGetBindingProporciona acceso a ActivityBind asociado al DependencyProperty específico. (Se hereda de DependencyObject).
Método protegidoGetBoundValueRecupera el Object que es el asunto de ActivityBind. (Se hereda de DependencyObject).
Método protegidoGetDynamicActivitiesDevuelve una matriz que contiene todas las instancias actualmente en ejecución de la actividad especificada. (Se hereda de CompositeActivity).
Método públicoGetDynamicActivityObtiene la instancia en ejecución de Activity que corresponde al nombre de la actividad secundario especificado. (Se hereda de StateActivity).
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método protegidoGetInvocationList<T>Obtiene una matriz que contiene los delegados para la clase DependencyProperty especificada. (Se hereda de DependencyObject).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoGetValueProporciona acceso al valor de la clase DependencyProperty designada. (Se hereda de DependencyObject).
Método públicoGetValueBaseProporciona acceso al objeto enlazado de DependencyProperty y omite la invalidación de GetValue. (Se hereda de DependencyObject).
Método protegidoHandleFaultLlamado cuando se produce una excepción dentro del contexto de la ejecución de esta instancia. (Se hereda de CompositeActivity).
Método protegidoInitializeInicializa StateActivity mediante el proveedor de servicios. (Se hereda de StateActivity).
Método protegidoInitializePropertiesRealiza la inicialización en propiedades de dependencia cuando se invalida en una clase derivada. (Se hereda de DependencyObject).
Método protegidoInvoke<T>(EventHandler<T>, T)Suscribe un delegado EventHandler e invoca a dicho delegado. (Se hereda de Activity).
Método protegidoInvoke<T>(IActivityEventListener<T>, T)Suscribe un IActivityEventListener<T> e invoca ese delegado. (Se hereda de Activity).
Método públicoIsBindingSetIndica si el valor de DependencyProperty se establece como enlace.Vea SetBinding. (Se hereda de DependencyObject).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoMetaEqualsDetermina si las metapropiedades de DependencyObject son iguales que las metapropiedades del DependencyObject parametrizado. (Se hereda de DependencyObject).
Método protegidoOnActivityChangeAddDetermina si la actividad que se va a agregar es EventDrivenActivity y, en ese caso, comprueba si es necesario suscribir las necesidades orientadas a eventos recientemente agregadas. (Se hereda de StateActivity).
Método protegidoOnActivityChangeRemoveLlamado cuando se quita una actividad. (Se hereda de CompositeActivity).
Método protegidoOnActivityExecutionContextLoadLlamado por el motor en tiempo de ejecución de flujo de trabajo cada vez que se carga ActivityExecutionContext para esta actividad. (Se hereda de CompositeActivity).
Método protegidoOnActivityExecutionContextUnloadLlamado por el motor en tiempo de ejecución de flujo de trabajo cada vez que se carga ActivityExecutionContext para esta actividad. (Se hereda de CompositeActivity).
Método protegidoOnClosedEl motor en tiempo de ejecución del flujo de trabajo como parte de la transición de la actividad al estado Closed llama a este método. (Se hereda de StateActivity).
Método protegidoOnListChangedRealiza procesos adicionales cuando cambia la propiedad Activities. (Se hereda de CompositeActivity).
Método protegidoOnListChangingEvento que se produce antes de que se realice un cambio en el Activities subyacente. (Se hereda de CompositeActivity).
Método protegidoOnWorkflowChangesCompletedLlamado después de realizar cambios en la colección Activities de esta instancia. (Se hereda de CompositeActivity).
Método protegidoRaiseEventGenera un evento Event asociado a una propiedad de dependencia específica. (Se hereda de Activity).
Método protegidoRaiseGenericEvent<T>Genera el evento asociado a DependencyProperty a la que hace referencia. (Se hereda de Activity).
Método públicoRegisterForStatusChangeRegistra la clase DependencyProperty especificada para el evento de cambio de estado. (Se hereda de Activity).
Método públicoRemoveHandlerQuita EventHandler de una DependencyProperty asociada. (Se hereda de DependencyObject).
Método públicoRemovePropertyQuita una clase DependencyProperty de DependencyObject. (Se hereda de DependencyObject).
Método públicoSave(Stream)Escribe Activity en Stream para la persistencia. (Se hereda de Activity).
Método públicoSave(Stream, IFormatter)Escribe el Activity en un Stream para la persistencia usando el IFormatter personalizado proporcionado para la serialización. (Se hereda de Activity).
Método públicoSetBindingEstablece la clase ActivityBind para la clase DependencyProperty especificada. (Se hereda de DependencyObject).
Método protegidoSetBoundValueEstablece el valor de la clase ActivityBind de destino. (Se hereda de DependencyObject).
Método protegidoSetReadOnlyPropertyValueEstablece el valor de DependencyProperty que es de solo lectura. (Se hereda de DependencyObject).
Método públicoSetValueEstablece el valor de DependencyProperty para el objeto. (Se hereda de DependencyObject).
Método públicoSetValueBaseEstablece el valor de DependencyProperty para la clase Object especificada, omitiendo SetValue. (Se hereda de DependencyObject).
Método públicoToStringProporciona una cadena que representa esta instancia. (Se hereda de Activity).
Método protegidoTrackData(Object)Informa a la infraestructura del seguimiento en tiempo de ejecución de la información de seguimiento pendiente. (Se hereda de Activity).
Método protegidoTrackData(String, Object)Informa a la infraestructura del seguimiento en tiempo de ejecución de la información de seguimiento pendiente. (Se hereda de Activity).
Método protegidoUninitializeLlamado por el motor en tiempo de ejecución de flujo de trabajo cuando una actividad cambia al estado Closed desde el estado Initialized. (Se hereda de CompositeActivity).
Método públicoUnregisterForStatusChangeAnula el registro del DependencyProperty especificado para el evento de cambio de estado. (Se hereda de Activity).
Arriba

  NombreDescripción
Evento públicoCancelingSe produce cuando se cancela la ejecución de la actividad. (Se hereda de Activity).
Evento públicoClosedSe produce cuando ha completa una operación Activity ha completado la ejecución. (Se hereda de Activity).
Evento públicoCompensatingSe produce al ejecutar un método de compensación en Activity. (Se hereda de Activity).
Evento públicoExecutingSe produce cuando se ejecuta Activity . (Se hereda de Activity).
Evento públicoFaultingSe produce cuando se genera una excepción durante el funcionamiento de la instancia. (Se hereda de Activity).
Evento públicoStatusChangedSe produce cuando cambia ActivityExecutionStatus de un Activity en ejecución. (Se hereda de Activity).
Arriba

  NombreDescripción
Campo públicoMiembro estáticoCompletedStateNamePropertyRepresenta el DependencyObject destinado a la propiedad CompletedStateName.
Campo públicoMiembro estáticoInitialStateNamePropertyRepresenta el DependencyObject destinado a la propiedad InitialStateName.
Campo públicoMiembro estáticoSetStateQueueNameNombre de WorkflowQueue que se usa para cambiar el estado de StateMachineWorkflowActivity.Este campo es constante.
Arriba

  NombreDescripción
Implementación explícita de interfacesEvento privadoIComponent.DisposedRepresenta el método que controla el evento Disposed de un componente. (Se hereda de DependencyObject).
Arriba

StateMachineWorkflowActivity es un contenedor de actividades usado para crear flujos de trabajo que siguen un modelo de equipo de estado.

StateMachineWorkflowActivity es una CompositeActivity, lo que significa que StateMachineWorkflowActivity puede contener otras actividades.Las actividades StateMachineWorkflowActivity y EventDrivenActivity son las únicas actividades secundarias permitidas de StateMachineWorkflowActivity.Las actividades EventDrivenActivity se permiten porque la propia actividad raíz se comporta como un estado.Por lo tanto, puede tener actividades EventDrivenActivity en el nivel raíz que sean utilizadas por todas las actividades de estado de StateMachineWorkflowActivity.Las actividades EventDrivenActivity en este nivel proporcionan un mecanismo global para procesar eventos de flujo de trabajo y automatizar transiciones de estado.Las actividades StateActivity proporcionan un mecanismo para definir las diversas fases del modelo.

StateMachineWorkflowActivity tiene propiedades necesarias para la ejecución del flujo de trabajo de equipo de estado.En especial, StateMachineWorkflowActivity tiene dos propiedades importantes: InitialStateNameProperty y CompletedStateNameProperty.

La InitialStateNameProperty de la máquina de estado es el estado en el que la máquina de estado se encuentra cuando se crea una instancia de la máquina de estado.La propiedad InitialStateNameProperty es obligatoria y debe proporcionarse al crear StateMachineWorkflowActivity. InitialStateNameProperty del equipo de estado es como cualquier otra actividad de estado que contiene el equipo de estado.La actividad de estado puede ser un elemento secundario directo de la actividad raíz StateMachineWorkflowActivity y StateMachineWorkflowActivity sólo puede tener una InitialStateNameProperty.

CompletedStateNameProperty de StateMachineWorkflowActivity es una actividad StateActivity que se designa como el estado final de StateMachineWorkflowActivity.Cuando se realiza una transición a CompletedStateNameProperty, se completa la ejecución del flujo de trabajo. CompletedStateNameProperty no es obligatoria.Esto significa que puede tener una StateMachineWorkflowActivity incompleta.Esto no significa que el flujo de trabajo de equipo de estado siempre está activo en memoria. StateMachineWorkflowActivity se podría descargar cuando se espera por un evento.

Las actividades StateMachineWorkflowActivity que nunca finalizan son especialmente útiles para procesar las transacciones comerciales de larga ejecución, como en el caso de un pedido de compra recibido por un proveedor.El hecho de que el pedido de compra estuviera cumplimentado no significa que el proceso del pedido de compra ha terminado.Los productos que forman parte del pedido de compra se podrían devolver o éste se podría corregir y agregarle más productos después de la cumplimentación.Es posible que exista un requisito para mantener los registros del pedido de compra durante un período de tiempo adicional con fines legales o de otro tipo.El hecho de que un flujo de trabajo no finalice sólo significa que el flujo de trabajo permanece en un estado descargado.Puede existir un motivo para retirar los flujos de trabajo, lo que significa que después de un período de tiempo establecido se pueda obligar a cerrar la instancia de flujo de trabajo.

El ejemplo de código siguiente muestra cómo crear una nueva instancia de la clase StateMachineWorkflowActivity y usarla para implementar un equipo de estado básico para la transición entre tres estados.Este ejemplo de código forma parte del ejemplo de SDK de SimpleStateMachineWorkflow del archivo StateMachineWorkflow.cs.Para obtener más información, veaSimple State Machine.


this.WhileLoop = new System.Workflow.Activities.WhileActivity();
this.Parallel = new System.Workflow.Activities.ParallelActivity();
this.Sequence1 = new System.Workflow.Activities.SequenceActivity();
this.Sequence2 = new System.Workflow.Activities.SequenceActivity();
this.ConsoleMessage1 = new System.Workflow.Activities.CodeActivity();
this.ConsoleMessage2 = new System.Workflow.Activities.CodeActivity();
// 
// WhileLoop
// 
this.WhileLoop.Activities.Add(this.Parallel);
codecondition1.Condition += new System.EventHandler<System.Workflow.Activities.ConditionalEventArgs>(this.WhileCondition);
this.WhileLoop.Condition = codecondition1;
this.WhileLoop.Name = "WhileLoop";
// 
// Parallel
// 
this.Parallel.Activities.Add(this.Sequence1);
this.Parallel.Activities.Add(this.Sequence2);
this.Parallel.Name = "Parallel";


.NET Framework

Compatible con: 4, 3.5, 3.0

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Mostrar: