StateMachineWorkflowActivity.CompletedStateName Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the end StateActivity of the workflow.

Namespace:   System.Workflow.Activities
Assembly:  System.Workflow.Activities (in System.Workflow.Activities.dll)

public string CompletedStateName { get; set; }

Property Value

Type: System.String

The end StateActivity of the workflow.

When a transition is made to the CompletedStateName, the workflow execution is completed. The CompletedStateName is not mandatory. This means that you can have a StateMachineWorkflowActivity that is not completed. This does not mean that the state machine workflow is always active in memory. The StateMachineWorkflowActivity might be unloaded as it waits for an event.

For more information aboutInitialStateName and CompletedStateName, see StateMachineWorkflowActivity.

The following code example shows how to set the value of the CompletedStateName property. This code example is part of the SimpleStateMachineWorkflow SDK sample from the StateMachineWorkflow.cs file. For more information, seeSimple State Machine.

this.CanModifyActivities = true;
this.setCompletedState = new System.Workflow.Activities.SetStateActivity();
this.code2 = new System.Workflow.Activities.CodeActivity();
this.state1Delay = new System.Workflow.Activities.DelayActivity();
this.setState1 = new System.Workflow.Activities.SetStateActivity();
this.code1 = new System.Workflow.Activities.CodeActivity();
this.startStateDelay = new System.Workflow.Activities.DelayActivity();
this.eventDriven2 = new System.Workflow.Activities.EventDrivenActivity();
this.eventDriven1 = new System.Workflow.Activities.EventDrivenActivity();
this.CompletedState = new System.Workflow.Activities.StateActivity();
this.state1 = new System.Workflow.Activities.StateActivity();
this.StartState = new System.Workflow.Activities.StateActivity();
// setCompletedState
this.setCompletedState.Name = "setCompletedState";
this.setCompletedState.TargetStateName = "CompletedState";
// code2
this.code2.Name = "code2";
this.code2.ExecuteCode += new System.EventHandler(this.Code2Handler);
// state1Delay
this.state1Delay.Name = "state1Delay";
this.state1Delay.TimeoutDuration = System.TimeSpan.Parse("00:00:02");
// setState1
this.setState1.Name = "setState1";
this.setState1.TargetStateName = "state1";
// code1
this.code1.Name = "code1";
this.code1.ExecuteCode += new System.EventHandler(this.Code1Handler);
// startStateDelay
this.startStateDelay.Name = "startStateDelay";
this.startStateDelay.TimeoutDuration = System.TimeSpan.Parse("00:00:05");
// eventDriven2
this.eventDriven2.Name = "eventDriven2";
// eventDriven1
this.eventDriven1.Name = "eventDriven1";
// CompletedState
this.CompletedState.Name = "CompletedState";

.NET Framework
Available since 3.0
Return to top