다음을 통해 공유


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"

설명

메모

이 재질에서는 사용되지 않는 형식 및 네임스페이스에 대해 설명합니다. 자세한 내용은 Windows Workflow Foundation 4.5사용되지 않는 형식 참조하세요.

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

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

StateMachineWorkflowActivity 상태 컴퓨터 워크플로를 실행하는 데 필요한 속성이 있습니다. 특히 StateMachineWorkflowActivity 중요한 두 가지 속성인 InitialStateNamePropertyCompletedStateNameProperty있습니다.

상태 컴퓨터의 InitialStateNameProperty 상태 컴퓨터의 인스턴스를 만들 때 상태 컴퓨터의 상태입니다. InitialStateNameProperty 속성은 필수이며 StateMachineWorkflowActivity 만들 때 제공해야 합니다. 상태 컴퓨터의 InitialStateNameProperty 상태 머신 내에 포함된 다른 상태 작업과 같습니다. 상태 활동은 StateMachineWorkflowActivity 루트 활동의 직접 자식일 수 있으며 StateMachineWorkflowActivityInitialStateNameProperty하나만 가질 수 있습니다.

StateMachineWorkflowActivity CompletedStateNameProperty StateMachineWorkflowActivity종료 상태로 지정된 StateActivity 활동입니다. CompletedStateNameProperty전환하면 워크플로 실행이 완료됩니다. CompletedStateNameProperty 필수는 아닙니다. 즉, 완료되지 않은 StateMachineWorkflowActivity 가질 수 있습니다. 이는 상태 컴퓨터 워크플로가 항상 메모리에서 활성 상태임을 의미하지는 않습니다. StateMachineWorkflowActivity 이벤트를 기다리는 동안 언로드될 수 있습니다.

StateMachineWorkflowActivity 작업은 공급업체가 받은 구매 주문의 경우처럼 장기 실행 비즈니스 트랜잭션을 처리하는 데 특히 유용합니다. 구매 주문이 이행되었다는 사실이 구매 주문 프로세스가 끝났다는 것을 의미하지는 않습니다. 구매 주문의 일부인 상품이 반환되거나 구매 주문이 수정되어 처리 후 추가 항목이 추가될 수 있습니다. 경우에 따라 법적 또는 기타 목적을 위해 장시간 구매 주문 레코드를 유지해야 하는 요구 사항이 있을 수 있습니다. 워크플로가 완료되지 않는다는 사실은 워크플로가 언로드된 상태로 남아 있음을 의미합니다. 워크플로를 사용 중지하는 경우가 있을 수 있습니다. 즉, 설정된 기간 후에 워크플로 인스턴스가 강제로 종료될 수 있습니다.

생성자

StateMachineWorkflowActivity()
사용되지 않음.

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

StateMachineWorkflowActivity(String)
사용되지 않음.

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

필드

CompletedStateNameProperty
사용되지 않음.

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

InitialStateNameProperty
사용되지 않음.

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

SetStateQueueName
사용되지 않음.

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

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
사용되지 않음.

상태 컴퓨터의 인스턴스를 만들 때 StateMachineWorkflowActivity 있는 StateActivity 가져오거나 설정합니다.

IsDynamicActivity
사용되지 않음.

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

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

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

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

Activity포함하는 CompositeActivity 가져옵니다.

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

DependencyObject 그래프에서 부모 DependencyObject 가져옵니다.

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

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

QualifiedName
사용되지 않음.

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

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

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

(다음에서 상속됨 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, Boolean)
사용되지 않음.

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

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

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

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

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

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

ActivityBind주체인 Object 검색합니다.

(다음에서 상속됨 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)
사용되지 않음.

DependencyObjectmetaproperties 매개 변수가 있는 DependencyObjectmetaproperties 같은지 여부를 결정합니다.

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

추가되는 활동이 EventDrivenActivity 있는지 확인하고, 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)
사용되지 않음.

연결된 DependencyPropertyEventHandler 제거합니다.

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

DependencyObject DependencyProperty 제거합니다.

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

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

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

지속성을 위해 ActivityStream 씁니다.

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

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

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

대상 ActivityBind값을 설정합니다.

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

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

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

DependencyProperty 값을 개체로 설정합니다.

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

SetValue(DependencyProperty, Object)무시하여 DependencyProperty 값을 지정된 Object설정합니다.

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

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

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

런타임 추적 인프라에 보류 중인 추적 정보를 알릴 수 있습니다.

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

런타임 추적 인프라에 보류 중인 추적 정보를 알릴 수 있습니다.

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

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

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

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

(다음에서 상속됨 Activity)

이벤트

Canceling
사용되지 않음.

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

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

Activity 실행이 완료되면 발생합니다.

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

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

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

Activity 실행할 때 발생합니다.

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

인스턴스를 실행하는 동안 예외가 발생할 때 발생합니다.

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

실행 중인 ActivityActivityExecutionStatus 변경되면 발생합니다.

(다음에서 상속됨 Activity)

명시적 인터페이스 구현

IComponent.Disposed
사용되지 않음.

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

(다음에서 상속됨 DependencyObject)

적용 대상

추가 정보

  • 상태 컴퓨터 워크플로