StateMachineWorkflowActivity クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
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 は、ステート マシン モデルに従うワークフローの作成に使用するアクティビティ コンテナーです。
StateMachineWorkflowActivity は CompositeActivity です。つまり、StateMachineWorkflowActivity には他のアクティビティを含めることができます。 StateMachineWorkflowActivity の許可されている子アクティビティは、EventDrivenActivity アクティビティと StateMachineWorkflowActivity アクティビティだけです。 EventDrivenActivity アクティビティは、ルート アクティビティ自体が状態と同様に動作するので許可されます。 したがって、EventDrivenActivity のすべての State アクティビティによって使用される StateMachineWorkflowActivity アクティビティをルート レベルに配置できます。 EventDrivenActivity アクティビティは、ワークフロー イベントを処理するためのグローバル機構を提供し、状態遷移を自動化します。 StateActivity アクティビティは、モデルの複数の段階を定義できる機構を提供します。
StateMachineWorkflowActivity には、ステート マシン ワークフローの実行に必要なプロパティがあります。 特に、StateMachineWorkflowActivity には、InitialStateNameProperty と CompletedStateNameProperty という 2 つの重要なプロパティがあります。
ステート マシンの InitialStateNameProperty は、ステート マシンのインスタンスが作成された時点でのステート マシンの状態です。 InitialStateNameProperty プロパティは必須であるため、StateMachineWorkflowActivity の作成時に指定する必要があります。 ステート マシンの InitialStateNameProperty は、そのステート マシンに含まれるその他のステート アクティビティと同じです。 ステート アクティビティは、StateMachineWorkflowActivity ルート アクティビティの直接の子になることができ、StateMachineWorkflowActivity は InitialStateNameProperty を 1 つだけ持つことができます。
CompletedStateNameProperty の StateMachineWorkflowActivity は、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 |
古い.
ステート マシンのインスタンスが作成された時点での StateActivity の StateMachineWorkflowActivity を取得または設定します。 |
IsDynamicActivity |
古い.
アクティビティがワークフロー インスタンスの既定の ActivityExecutionContext で実行されているかどうかに関する情報を取得します。 (継承元 Activity) |
Name |
古い.
このインスタンスの名前を取得または設定します。 この名前は、ワークフロー プロジェクトの作成に使用されたプログラミング言語の変数の名前付け規則に準拠している必要があります。 (継承元 Activity) |
Parent |
古い.
この CompositeActivity を格納している Activity を取得します。 (継承元 Activity) |
ParentDependencyObject |
古い.
DependencyObject グラフにおける親 DependencyObject を取得します。 (継承元 DependencyObject) |
PreviousStateName |
古い.
以前に実行された StateActivity の名前を取得します。 |
QualifiedName |
古い.
アクティビティの限定名を取得します。 限定アクティビティ名は、ワークフロー インスタンス内で一意です。 (継承元 Activity) |
Site |
古い.
Site の DependencyObject コンポーネントの参照を取得または設定します。 (継承元 DependencyObject) |
UserData |
古い.
このクラス インスタンスにカスタム データを関連付ける IDictionary を取得します。 (継承元 DependencyObject) |
WorkflowInstanceId |
古い.
インスタンスに関連付けられた Guid を取得します。 (継承元 Activity) |
メソッド
イベント
Canceling |
古い.
アクティビティ実行が取り消された場合に発生します。 (継承元 Activity) |
Closed |
古い.
Activity の実行終了時に発生します。 (継承元 Activity) |
Compensating |
古い.
Activity 上で補正メソッドが起動されたときに発生します。 (継承元 Activity) |
Executing |
古い.
Activity の実行時に発生します。 (継承元 Activity) |
Faulting |
古い.
インスタンスの実行中、例外が発生したときに発生します。 (継承元 Activity) |
StatusChanged |
古い.
実行中の ActivityExecutionStatus の Activity が変更された場合に発生します。 (継承元 Activity) |
明示的なインターフェイスの実装
IComponent.Disposed |
古い.
コンポーネントの Disposed イベントを処理するメソッドを表します。 (継承元 DependencyObject) |
適用対象
こちらもご覧ください
.NET