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 クラスの新しいインスタンスを作成し、3 つの状態間を遷移する基本的なステート マシンを実装する方法を示します。 このコード例は、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"

注釈

注意

ここでは、廃止された型と名前空間について説明します。 詳細については、「.NET 4.5 での Windows Workflow Foundation の新機能」を参照してください。

StateMachineWorkflowActivity は、ステート マシン モデルに従うワークフローの作成に使用するアクティビティ コンテナーです。

StateMachineWorkflowActivityCompositeActivity です。つまり、StateMachineWorkflowActivity には他のアクティビティを含めることができます。 StateMachineWorkflowActivity の許可されている子アクティビティは、EventDrivenActivity アクティビティと StateMachineWorkflowActivity アクティビティだけです。 EventDrivenActivity アクティビティは、ルート アクティビティ自体が状態と同様に動作するので許可されます。 したがって、EventDrivenActivity のすべての State アクティビティによって使用される StateMachineWorkflowActivity アクティビティをルート レベルに配置できます。 EventDrivenActivity アクティビティは、ワークフロー イベントを処理するためのグローバル機構を提供し、状態遷移を自動化します。 StateActivity アクティビティは、モデルの複数の段階を定義できる機構を提供します。

StateMachineWorkflowActivity には、ステート マシン ワークフローの実行に必要なプロパティがあります。 特に、StateMachineWorkflowActivity には、InitialStateNamePropertyCompletedStateNameProperty という 2 つの重要なプロパティがあります。

ステート マシンの InitialStateNameProperty は、ステート マシンのインスタンスが作成された時点でのステート マシンの状態です。 InitialStateNameProperty プロパティは必須であるため、StateMachineWorkflowActivity の作成時に指定する必要があります。 ステート マシンの InitialStateNameProperty は、そのステート マシンに含まれるその他のステート アクティビティと同じです。 ステート アクティビティは、StateMachineWorkflowActivity ルート アクティビティの直接の子になることができ、StateMachineWorkflowActivityInitialStateNameProperty を 1 つだけ持つことができます。

CompletedStateNamePropertyStateMachineWorkflowActivity は、StateActivity の最終状態として指定されている 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
古い.

ステート マシンのインスタンスが作成された時点での StateActivityStateMachineWorkflowActivity を取得または設定します。

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)
古い.

指定された名前の Activity インスタンスを検索して返します。検索範囲は、第 2 パラメーターが Activity ならばこのインスタンスの false のルート アクティビティ内、Activity ならばこの true 内で、現在動作中のアクティビティ全体です。

(継承元 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)
古い.

ActivityStream に書き込んで永続化します。シリアル化の機能を提供する独自の IFormatter を使います。

(継承元 Activity)
SetBinding(DependencyProperty, ActivityBind)
古い.

指定された ActivityBindDependencyProperty を設定します。

(継承元 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)

適用対象

こちらもご覧ください