다음을 통해 공유


StateMachineWorkflowActivity 클래스

정의

주의

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

상태 시스템 워크플로에 대한 루트 컨테이너 역할을 합니다. 이벤트 구동 활동 및 상태를 포함합니다.

public ref class StateMachineWorkflowActivity : System::Workflow::Activities::StateActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
public class StateMachineWorkflowActivity : System.Workflow.Activities.StateActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class StateMachineWorkflowActivity : System.Workflow.Activities.StateActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
type StateMachineWorkflowActivity = class
    inherit StateActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type StateMachineWorkflowActivity = class
    inherit StateActivity
Public Class StateMachineWorkflowActivity
Inherits StateActivity
상속
특성

예제

다음 코드 예제에서는 StateMachineWorkflowActivity 클래스의 새 인스턴스를 만들고 해당 인스턴스를 사용하여 세 가지 상태 사이에서 기본 상태 시스템 전환을 구현하는 방법을 보여 줍니다. 이 코드 예제는 StateMachineWorkflow.cs 파일에 있는 SimpleStateMachineWorkflow SDK 샘플의 일부입니다. 자세한 내용은 Simple 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";
Me.WhileLoop = New System.Workflow.Activities.WhileActivity()
Me.Parallel = New System.Workflow.Activities.ParallelActivity()
Me.Sequence1 = New System.Workflow.Activities.SequenceActivity()
Me.Sequence2 = New System.Workflow.Activities.SequenceActivity()
Me.ConsoleMessage1 = New System.Workflow.Activities.CodeActivity()
Me.ConsoleMessage2 = New System.Workflow.Activities.CodeActivity()
' 
' WhileLoop
' 
Me.WhileLoop.Activities.Add(Me.Parallel)
AddHandler codecondition1.Condition, AddressOf Me.WhileCondition
Me.WhileLoop.Condition = codecondition1
Me.WhileLoop.Name = "WhileLoop"
' 
' Parallel
' 
Me.Parallel.Activities.Add(Me.Sequence1)
Me.Parallel.Activities.Add(Me.Sequence2)
Me.Parallel.Name = "Parallel"

설명

참고

이 자료에서는 더 이상 사용되지 않는 형식과 네임스페이스에 대해 설명합니다. 자세한 내용은 Deprecated Types in Windows Workflow Foundation 4.5(Windows Workflow Foundation 4.5에서 사용되지 않는 형식)를 참조하세요.

StateMachineWorkflowActivity는 상태 시스템 모델을 따르는 워크플로를 만드는 데 사용되는 활동 컨테이너입니다.

StateMachineWorkflowActivityCompositeActivity입니다. 즉, StateMachineWorkflowActivity는 다른 활동을 포함할 수 있습니다. StateMachineWorkflowActivityEventDrivenActivity 활동은 허용되는 유일한 StateMachineWorkflowActivity의 자식 활동입니다. 루트 활동 자체가 상태처럼 동작하므로 EventDrivenActivity 활동을 사용할 수 있습니다. 따라서 EventDrivenActivity의 모든 상태 활동에서 사용하는 루트 수준의 StateMachineWorkflowActivity 활동을 사용할 수 있습니다. 이 수준의 EventDrivenActivity 활동은 워크플로 이벤트를 처리하는 전역 메커니즘을 제공하며 상태 전환을 자동화합니다. StateActivity 활동은 모델의 다양한 단계를 정의하는 메커니즘을 제공합니다.

StateMachineWorkflowActivity에는 상태 시스템 워크플로를 실행하는 데 필요한 속성이 있습니다. 특히 StateMachineWorkflowActivity에는 중요한 두 개 속성인 InitialStateNamePropertyCompletedStateNameProperty가 있습니다.

InitialStateNameProperty는 상태 시스템의 인스턴스가 만들어질 때 상태 시스템의 상태입니다. InitialStateNameProperty 속성은 필수이며, StateMachineWorkflowActivity가 만들어질 때 해당 속성을 제공해야 합니다. 상태 시스템의 InitialStateNameProperty은 상태 시스템 내에 포함된 다른 상태 활동과 비슷합니다. 상태 활동은 StateMachineWorkflowActivity 루트 활동의 직계 자식일 수 있고 StateMachineWorkflowActivity는 하나의 InitialStateNameProperty만 가질 수 있습니다.

CompletedStateNamePropertyStateMachineWorkflowActivityStateActivity의 종료 상태로 지정된 StateMachineWorkflowActivity 활동입니다. CompletedStateNameProperty에 대해 전환을 수행하면 워크플로 실행이 완료됩니다. CompletedStateNameProperty은 필수가 아닙니다. 즉, 완료되지 않은 StateMachineWorkflowActivity가 있을 수 있지만 상태 시스템 워크플로가 메모리에서 항상 활성 상태라는 의미는 아닙니다. StateMachineWorkflowActivity는 이벤트를 대기할 때 언로드될 수 있습니다.

완료되지 않는 StateMachineWorkflowActivity 활동은 공급자를 통해 받은 구매 주문과 같은 장기 실행 비즈니스 트랜잭션을 처리하는 데 특히 유용합니다. 구매 주문이 수행되었다는 것이 구매 주문 프로세스가 끝났다는 의미는 아닙니다. 구매 주문에 포함된 상품이 반환되었거나 구매 주문 후에 구매 주문이 수정되고 항목이 추가되었을 수 있습니다. 법적 또는 다른 목적으로 일정 기간 동안 구매 주문 기록을 보관해야 하는 경우가 있을 수 있습니다. 워크플로가 종료되지 않았다는 것은 워크플로가 언로드된 상태에 있다는 것을 의미합니다. 워크플로를 더 이상 사용하지 않는 경우가 있을 수 있습니다. 즉, 지정한 시간이 지나면 워크플로 인스턴스가 강제로 종료될 수 있습니다.

생성자

StateMachineWorkflowActivity()
사용되지 않음.

StateMachineWorkflowActivity 클래스의 새 인스턴스를 초기화합니다.

StateMachineWorkflowActivity(String)
사용되지 않음.

활동 이름을 사용하여 StateMachineWorkflowActivity 클래스의 새 인스턴스를 초기화합니다.

필드

CompletedStateNameProperty
사용되지 않음.

DependencyObject 속성을 대상으로 하는 CompletedStateName를 나타냅니다.

InitialStateNameProperty
사용되지 않음.

DependencyObject 속성을 대상으로 하는 InitialStateName를 나타냅니다.

SetStateQueueName
사용되지 않음.

WorkflowQueue의 상태를 변경하는 데 사용되는 StateMachineWorkflowActivity의 이름입니다. 이 필드는 상수입니다.

StateChangeTrackingDataKey
사용되지 않음.

변경 내용 추적 데이터 키 "StateActivity.StateChange"의 문자열 값을 보유합니다. 이 필드는 상수입니다.

(다음에서 상속됨 StateActivity)

속성

Activities
사용되지 않음.

모든 자식 활동의 ActivityCollection 컬렉션을 나타내는 개체를 가져옵니다.

(다음에서 상속됨 CompositeActivity)
CanModifyActivities
사용되지 않음.

Activities 내의 개별 활동을 수정할 수 있는지 여부를 제어하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 CompositeActivity)
CompletedStateName
사용되지 않음.

워크플로의 마지막 StateActivity를 가져오거나 설정합니다.

CurrentStateName
사용되지 않음.

현재 실행 중인 StateActivity의 이름을 가져옵니다.

Description
사용되지 않음.

Activity에 대한 사용자 정의 설명을 가져오거나 설정합니다.

(다음에서 상속됨 Activity)
DesignMode
사용되지 않음.

이 인스턴스가 디자인 모드 또는 런타임 모드에 있는지 나타내는 값을 가져옵니다.

(다음에서 상속됨 DependencyObject)
DynamicUpdateCondition
사용되지 않음.

파생 클래스에서 재정의되는 경우 동적 업데이트를 워크플로에서 수행할 수 있는지 여부를 결정하는 ActivityCondition을 가져오거나 설정합니다.

Enabled
사용되지 않음.

실행 및 유효성 검사에 이 인스턴스를 사용할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 Activity)
EnabledActivities
사용되지 않음.

사용하도록 설정된 Activities의 하위 집합을 나타내는 읽기 전용 컬렉션을 가져옵니다.

(다음에서 상속됨 CompositeActivity)
ExecutionResult
사용되지 않음.

이 인스턴스를 실행하려는 마지막 시도의 ActivityExecutionResult를 가져옵니다.

(다음에서 상속됨 Activity)
ExecutionStatus
사용되지 않음.

이 인스턴스의 현재 ActivityExecutionStatus를 가져옵니다.

(다음에서 상속됨 Activity)
InitialStateName
사용되지 않음.

상태 시스템의 인스턴스가 만들어질 때 StateActivity를 포함하는 StateMachineWorkflowActivity를 가져오거나 설정합니다.

IsDynamicActivity
사용되지 않음.

활동이 워크플로 인스턴스의 기본 ActivityExecutionContext 내에서 실행 중인지 여부에 대한 정보를 가져옵니다.

(다음에서 상속됨 Activity)
Name
사용되지 않음.

이 인스턴스의 이름을 가져오거나 설정합니다. 이 이름은 워크플로 프로젝트에 사용되는 프로그래밍 언어의 변수 명명 규칙을 따라야 합니다

(다음에서 상속됨 Activity)
Parent
사용되지 않음.

CompositeActivity이 들어 있는 Activity를 가져옵니다.

(다음에서 상속됨 Activity)
ParentDependencyObject
사용되지 않음.

DependencyObject 그래프의 부모 DependencyObject를 가져옵니다.

(다음에서 상속됨 DependencyObject)
PreviousStateName
사용되지 않음.

이전에 실행한 StateActivity의 이름을 가져옵니다.

QualifiedName
사용되지 않음.

활동의 정규화된 이름을 가져옵니다. 정규화된 활동 이름은 워크플로 인스턴스에서 항상 고유합니다.

(다음에서 상속됨 Activity)
Site
사용되지 않음.

SiteDependencyObject 구성 요소에 대한 참조를 가져오거나 설정합니다.

(다음에서 상속됨 DependencyObject)
UserData
사용되지 않음.

사용자 지정 데이터를 이 클래스 인스턴스와 연결하는 IDictionary를 가져옵니다.

(다음에서 상속됨 DependencyObject)
WorkflowInstanceId
사용되지 않음.

인스턴스와 연결된 Guid를 가져옵니다.

(다음에서 상속됨 Activity)

메서드

AddHandler(DependencyProperty, Object)
사용되지 않음.

DependencyObject 이벤트에 대한 처리기를 추가합니다.

(다음에서 상속됨 DependencyObject)
ApplyWorkflowChanges(WorkflowChanges)
사용되지 않음.

매개 변수의 WorkflowChanges 매니페스트를 이 인스턴스에 적용합니다.

(다음에서 상속됨 CompositeActivity)
Cancel(ActivityExecutionContext)
사용되지 않음.

StateActivity 실행을 취소합니다.

(다음에서 상속됨 StateActivity)
Clone()
사용되지 않음.

Activity의 전체 복사본을 만듭니다.

(다음에서 상속됨 Activity)
Dispose()
사용되지 않음.

DependencyObject에서 사용하는 리소스를 모두 해제합니다.

(다음에서 상속됨 DependencyObject)
Dispose(Boolean)
사용되지 않음.

이 인스턴스에서 Dispose(Boolean)를 호출하고, 이 인스턴스의 모든 자식 활동에서 선택적으로 Dispose()를 호출합니다.

(다음에서 상속됨 CompositeActivity)
Equals(Object)
사용되지 않음.

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
Execute(ActivityExecutionContext)
사용되지 않음.

StateActivity를 실행합니다.

(다음에서 상속됨 StateActivity)
GetActivityByName(String)
사용되지 않음.

워크플로 내에 있는 이 인스턴스의 루트 활동에서 실행 중인 모든 활동 집합 중 이름이 요청된 Activity의 인스턴스를 반환합니다.

(다음에서 상속됨 Activity)
GetActivityByName(String, Boolean)
사용되지 않음.

두 번째 매개 변수가 false이면 이 인스턴스의 루트 Activity에 있는 모든 활동 집합에서, 두 번째 매개 변수가 true이면 현재 Activity에 있는 모든 활동 집합에서 이름이 요청된 Activity의 인스턴스를 반환합니다.

(다음에서 상속됨 Activity)
GetBinding(DependencyProperty)
사용되지 않음.

특정 ActivityBind와 연결된 DependencyProperty에 대한 액세스를 제공합니다.

(다음에서 상속됨 DependencyObject)
GetBoundValue(ActivityBind, Type)
사용되지 않음.

Object의 주체인 ActivityBind를 검색합니다.

(다음에서 상속됨 DependencyObject)
GetDynamicActivities(Activity)
사용되지 않음.

지정된 활동의 현재 실행 중인 모든 인스턴스를 포함하는 배열을 반환합니다.

(다음에서 상속됨 CompositeActivity)
GetDynamicActivity(String)
사용되지 않음.

지정한 자식 활동 이름에 해당하는 Activity의 실행 인스턴스를 가져옵니다.

(다음에서 상속됨 StateActivity)
GetHashCode()
사용되지 않음.

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetInvocationList<T>(DependencyProperty)
사용되지 않음.

지정된 DependencyProperty의 대리자를 포함하는 배열을 가져옵니다.

(다음에서 상속됨 DependencyObject)
GetType()
사용되지 않음.

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetValue(DependencyProperty)
사용되지 않음.

지정된 DependencyProperty의 값에 대한 액세스를 제공합니다.

(다음에서 상속됨 DependencyObject)
GetValueBase(DependencyProperty)
사용되지 않음.

DependencyProperty의 바인딩된 개체에 액세스하는 데 사용할 수 있으며 GetValue(DependencyProperty) 재정의를 무시합니다.

(다음에서 상속됨 DependencyObject)
HandleFault(ActivityExecutionContext, Exception)
사용되지 않음.

이 인스턴스의 실행 컨텍스트 내에서 예외가 발생할 때 호출됩니다.

(다음에서 상속됨 CompositeActivity)
Initialize(IServiceProvider)
사용되지 않음.

서비스 공급자를 사용하여 StateActivity를 초기화합니다.

(다음에서 상속됨 StateActivity)
InitializeProperties()
사용되지 않음.

파생 클래스에서 재정의되는 경우 종속성 속성에 대해 초기화를 수행합니다.

(다음에서 상속됨 DependencyObject)
Invoke<T>(EventHandler<T>, T)
사용되지 않음.

EventHandler를 구독하고 해당 대리자를 호출합니다.

(다음에서 상속됨 Activity)
Invoke<T>(IActivityEventListener<T>, T)
사용되지 않음.

IActivityEventListener<T>를 구독하고 해당 대리자를 호출합니다.

(다음에서 상속됨 Activity)
IsBindingSet(DependencyProperty)
사용되지 않음.

DependencyProperty의 값이 바인딩으로 설정되었는지 여부를 나타냅니다. SetBinding(DependencyProperty, ActivityBind)을 참조하세요.

(다음에서 상속됨 DependencyObject)
MemberwiseClone()
사용되지 않음.

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MetaEquals(DependencyObject)
사용되지 않음.

metapropertiesDependencyObject가 매개 변수화된 metapropertiesDependencyObject와 같은지 여부를 결정합니다.

(다음에서 상속됨 DependencyObject)
OnActivityChangeAdd(ActivityExecutionContext, Activity)
사용되지 않음.

추가 중인 활동이 EventDrivenActivity인지 확인하고, 그럴 경우에는 새로 추가된 이벤트 구동 활동을 구독해야 하는지 확인합니다.

(다음에서 상속됨 StateActivity)
OnActivityChangeRemove(ActivityExecutionContext, Activity)
사용되지 않음.

활동을 제거할 때 호출됩니다.

(다음에서 상속됨 CompositeActivity)
OnActivityExecutionContextLoad(IServiceProvider)
사용되지 않음.

이 활동에 대한 ActivityExecutionContext를 로드할 때마다 워크플로 런타임 엔진에서 호출됩니다.

(다음에서 상속됨 CompositeActivity)
OnActivityExecutionContextUnload(IServiceProvider)
사용되지 않음.

이 활동에 대한 ActivityExecutionContext를 언로드할 때마다 워크플로 런타임 엔진에서 호출됩니다.

(다음에서 상속됨 CompositeActivity)
OnClosed(IServiceProvider)
사용되지 않음.

활동이 Closed 상태로 전환되는 과정의 일부로 워크플로 런타임 엔진에서 호출됩니다.

(다음에서 상속됨 StateActivity)
OnListChanged(ActivityCollectionChangeEventArgs)
사용되지 않음.

Activities 속성이 변경될 때 추가 처리 작업을 수행합니다.

(다음에서 상속됨 CompositeActivity)
OnListChanging(ActivityCollectionChangeEventArgs)
사용되지 않음.

내부 Activities를 변경하기 전에 발생하는 이벤트입니다.

(다음에서 상속됨 CompositeActivity)
OnWorkflowChangesCompleted(ActivityExecutionContext)
사용되지 않음.

이 인스턴스의 Activities 컬렉션을 변경한 후 호출됩니다.

(다음에서 상속됨 CompositeActivity)
RaiseEvent(DependencyProperty, Object, EventArgs)
사용되지 않음.

지정된 종속성 속성과 연결된 Event를 발생시킵니다.

(다음에서 상속됨 Activity)
RaiseGenericEvent<T>(DependencyProperty, Object, T)
사용되지 않음.

참조된 DependencyProperty와 연결된 이벤트를 발생시킵니다.

(다음에서 상속됨 Activity)
RegisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
사용되지 않음.

상태 변경 이벤트에 대해 지정된 DependencyProperty를 등록합니다.

(다음에서 상속됨 Activity)
RemoveHandler(DependencyProperty, Object)
사용되지 않음.

연결된 EventHandler에서 DependencyProperty를 제거합니다.

(다음에서 상속됨 DependencyObject)
RemoveProperty(DependencyProperty)
사용되지 않음.

DependencyProperty에서 DependencyObject 개체를 제거합니다.

(다음에서 상속됨 DependencyObject)
Save(Stream)
사용되지 않음.

지속성을 위해 ActivityStream에 씁니다.

(다음에서 상속됨 Activity)
Save(Stream, IFormatter)
사용되지 않음.

serialization에 제공된 사용자 지정 Activity를 사용하여 지속성을 위해 StreamIFormatter에 씁니다.

(다음에서 상속됨 Activity)
SetBinding(DependencyProperty, ActivityBind)
사용되지 않음.

지정된 ActivityBind에 대한 DependencyProperty를 설정합니다.

(다음에서 상속됨 DependencyObject)
SetBoundValue(ActivityBind, Object)
사용되지 않음.

대상 ActivityBind의 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
SetReadOnlyPropertyValue(DependencyProperty, Object)
사용되지 않음.

읽기 전용인 DependencyProperty의 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)
사용되지 않음.

DependencyProperty의 값을 개체에 설정합니다.

(다음에서 상속됨 DependencyObject)
SetValueBase(DependencyProperty, Object)
사용되지 않음.

DependencyProperty를 무시하고 Object의 값을 지정된 SetValue(DependencyProperty, Object)에 설정합니다.

(다음에서 상속됨 DependencyObject)
ToString()
사용되지 않음.

이 인스턴스를 나타내는 문자열을 제공합니다.

(다음에서 상속됨 Activity)
TrackData(Object)
사용되지 않음.

런타임 추적 인프라에 보류 중인 추적 정보를 알립니다.

(다음에서 상속됨 Activity)
TrackData(String, Object)
사용되지 않음.

런타임 추적 인프라에 보류 중인 추적 정보를 알립니다.

(다음에서 상속됨 Activity)
Uninitialize(IServiceProvider)
사용되지 않음.

활동이 Closed 상태에서 Initialized 상태로 전환할 때 워크플로 런타임 엔진에서 호출됩니다.

(다음에서 상속됨 CompositeActivity)
UnregisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
사용되지 않음.

상태 변경 이벤트에 대해 지정된 DependencyProperty를 등록 취소합니다.

(다음에서 상속됨 Activity)

이벤트

Canceling
사용되지 않음.

활동 실행이 취소될 때 발생합니다.

(다음에서 상속됨 Activity)
Closed
사용되지 않음.

Activity에서 실행을 완료했을 때 발생합니다.

(다음에서 상속됨 Activity)
Compensating
사용되지 않음.

Activity에서 보정 메서드를 실행할 때 발생합니다.

(다음에서 상속됨 Activity)
Executing
사용되지 않음.

Activity가 실행될 때 발생합니다.

(다음에서 상속됨 Activity)
Faulting
사용되지 않음.

인스턴스를 실행하는 동안 예외가 발생하면 이 이벤트가 발생합니다.

(다음에서 상속됨 Activity)
StatusChanged
사용되지 않음.

실행 중인 ActivityExecutionStatusActivity가 변경될 때 발생합니다.

(다음에서 상속됨 Activity)

명시적 인터페이스 구현

IComponent.Disposed
사용되지 않음.

구성 요소의 Disposed 이벤트를 처리하는 메서드를 나타냅니다.

(다음에서 상속됨 DependencyObject)

적용 대상

추가 정보