共用方式為


簡單狀態機器範例

Download sample

這個範例示範如何使用狀態機器工作流程,實作具有三種狀態的簡單狀態機器。狀態機器會從 Start 狀態轉換為 State 1,然後再從 State 1 轉換為 State 2。

狀態機器工作流程包含了狀態。每個狀態都是由一或多個 EventDrivenActivity 活動組成。每個 StateActivity 可以包含一個 StateInitializationActivity、一或多個 EventDrivenActivity 活動,以及一個 StateFinalizationActivity。它可以包含這些活動的任何活動,也可以包含所有活動。

每個狀態機器工作流程都有兩個屬性,分別稱為 InitialStateNameCompletedStateName。在建立狀態機器工作流程的執行個體時,會將執行個體放入 InitialStateName 屬性。當狀態機器達到 CompletedStateName 時,就會完成執行。

在此範例中,Start 狀態是 InitialStateName,並且具有 EventDrivenActivity。該 EventDrivenActivity 具有 DelayActivity 活動,做為它的第一個活動。延遲活動有 5 秒的延遲逾時時間。此外,EventDrivenActivity 也有可轉換為 State 1 的 SetStateActivity 活動。

State 1 與 Start 狀態類似,並且具有內含延遲活動的 EventDrivenActivity。延遲逾時設定為 5 秒。此外,EventDrivenActivity 也有可轉換為至 State 2 的設定狀態活動。

State 2 是已完成狀態。當轉換進行到 State 2 時,狀態機器就會停止執行。

若要建置範例

  1. 按一下此主題中的 [下載範例] 來下載範例。

    這樣會將範例專案擷取到本機硬碟上。

  2. 按一下 [開始],並依序指向 [程式集] 和 [Microsoft Windows SDK],再按一下 [CMD 殼層]。

  3. 移至範例的來源目錄。

  4. 在命令提示字元上,輸入 MSBUILD <Solution file name>

若要執行範例

  • 在 [SDK 命令提示字元] 視窗中,執行 SimpleStateMachineWorkflow\bin\debug 資料夾 (若是範例的 VB 版本,則是 SimpleStateMachineWorkflow\bin 資料夾) 中的 .exe 檔案,該資料夾位於此範例的主要資料夾下方。

請參閱

參考

StateMachineWorkflowActivity
SetStateActivity
StateInitializationActivity

其他資源

Using the State Activity
Using the StateInitialization Activity
Using the SetState Activity
Creating a State Machine Workflow
State Machine Workflows
基本工作流程範例
Windows Workflow Foundation 範例

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.