HOW TO:建立工作流程
本主題僅適用於 Windows Workflow Foundation 4。
工作流程可以從內建活動建構,也可以從自訂活動建構。 本主題逐步解說如何建立工作流程,該工作流程會使用 Flowchart 活動等內建活動,以及舊版 HOW TO:建立活動主題的自訂活動。 此工作流程會以數字猜測遊戲為模型。
![]() |
---|
「使用者入門」教學課程中的每個主題都會與前一個主題息息相關。 若要完成此主題,您必須先完成 HOW TO:建立活動。 |
若要建立工作流程專案
使用 Visual Studio 2010,從上一個 HOW TO:建立活動主題中開啟方案。
以滑鼠右鍵按一下 [方案總管] 中的 [GettingStartedTutorial] 方案,並依序選取 [加入]、[新增專案]。
提示:
如果沒有顯示 [方案總管] 視窗,請選取 [檢視] 功能表上的 [方案總管]。 依序選取 [已安裝的範本] 清單中的 [Visual C#] 和 [工作流程] (或是 [Visual Basic] 和 [工作流程])。
注意:
依據設定哪個程式語言為 Visual Studio 主要語言而異,[Visual C#] 或 [Visual Basic] 節點可能會顯示在 [已安裝的範本] 清單的 [其他語言] 節點下。 確認已選取 [.NET Framework 版本] 下拉式清單中的 [.NET Framework 4]。 選取 [工作流程] 清單中的 [工作流程主控台應用程式], 並保留預設值,然後按一下 [確定]。 這樣會建立一個具有基本工作流程裝載支援的入門工作流程應用程式。 在這個主題中,會在工作流程中填入活動。 在下一個主題 HOW TO:執行工作流程中,則會修改基本裝載程式碼,並使用該程式碼來執行工作流程應用程式。
以滑鼠右鍵按一下 [方案總管] 中新加入的 [WorkflowConsoleApplication1],然後選取 [加入參考]。 選取 [專案] 索引標籤中的 [ActivityLibrary1],然後按一下 [確定]。
按下 [F6] 以建置方案。 這樣會將 [ActivityLibrary1] 中的自訂活動加入至 [工具箱],使其能夠用於這個工作流程中。
若要建立工作流程變數和引數
如果設計工具中尚未顯示工作流程,請按兩下 [方案總管] 中的 [Workflow1.xaml] 加以顯示。
將 [Flowchart] 活動從 [工具箱] 的 [流程圖] 區段拖放到工作流程設計介面上。
按一下工作流程設計工具左下角的 [引數],顯示 [引數] 窗格。
按一下 [建立引數]。
在 [名稱] 方塊中輸入 MaxNumber,選取 [方向] 下拉式清單中的 [In],選取 [引數型別] 下拉式清單中的 [Int32],然後按下 ENTER 儲存引數。
按一下 [建立引數]。
在此新加入之
MaxNumber
引數下的 [名稱] 方塊中輸入 Turns,選取 [方向] 下拉式清單中的 [Out],選取 [引數型別] 下拉式清單中的 [Int32],然後按下 ENTER。按一下活動設計工具左下角的 [引數],關閉 [引數] 窗格。
按一下工作流程設計工具左下角的 [變數],顯示 [變數] 窗格。
按一下 [建立變數]。
提示:
如果沒有顯示 [建立變數] 方塊,請按一下工作流程設計工具介面上的 Flowchart 活動,選取該工作流程。 在 [名稱] 方塊中輸入 Guess,選取 [變數型別] 下拉式清單中的 [Int32],然後按下 ENTER 儲存變數。
按一下 [建立變數]。
在 [名稱] 方塊中輸入 Target,選取 [變數型別] 下拉式清單中的 [Int32],然後按下 ENTER 儲存變數。
按一下活動設計工具左下角的 [變數],關閉 [變數] 窗格。
若要加入工作流程活動
從 [工具箱] 的 [基本] 區段,將 [指派] 活動拖曳到工作流程上,使其位於工作流程最上方且以綠色圓圈代表的起始節點下方。 在 [到] 方塊中輸入 Target,並於 [輸入 VB 運算式] 方塊中輸入下列運算式。
New System.Random().Next(1, MaxNumber + 1)
提示:
如果沒有顯示 [工具箱] 視窗,請從 [檢視] 功能表中選擇 [工具箱]。 若要表示 [指派] 活動是 Flowchart 的起始點,請將滑鼠置於工作流程最上方之起始節點的上方。 將滑鼠置於起始節點上,出現矩形時,請按一下該矩形,然後將滑鼠向下拖曳至 [指派] 活動的上方。 將滑鼠置於 [指派] 活動上方時,會出現四個矩形。 拖曳滑鼠,使起始節點底部的連接線連接至 [指派] 活動最上方的矩形,然後放開滑鼠按鈕。
從 [工具箱] 的 [ActivityLibrary1] 區段,將 [提示] 活動拖放到上一個步驟的 [指派] 活動下方。
在 [屬性視窗] 的 [BookmarkName] 屬性值方塊中輸入 "EnterGuess" (含引號)。 在 [結果] 屬性值方塊中輸入 Guess,然後在 [文字] 屬性方塊中輸入下列運算式。
"Please enter a number between 1 and " & MaxNumber
提示:
如果沒有顯示 [屬性視窗],請從 [檢視] 功能表選取 [屬性視窗]。 連接 [指派] 活動與 [提示] 活動。 若要連接這兩個活動,請將滑鼠置於 [指派] 活動上方,然後在滑鼠置於活動上方出現矩形時,按一下該矩形 (位於底部)。 將滑鼠向下拖曳至 [提示] 活動的最上方。 將滑鼠置於 [提示] 活動上方時,會出現四個矩形。 拖曳滑鼠,使 [指派] 活動底部的連接線連接至 [提示] 活動最上方的矩形,然後放開滑鼠按鈕。
從 [工具箱] 的 [基本] 區段,將 [指派] 活動拖放到 [提示] 活動下方。
在 [到] 方塊中輸入 Turns,並於 [輸入 VB 運算式] 方塊中輸入 Turns + 1。
依照前述的步驟連接 [提示] 活動與 [指派] 活動。
從 [工具箱] 的 [流程圖] 區段,將 [FlowDecision] 拖放到 [指派] 活動下方。 將 [指派] 活動連接至 [FlowDecision] 活動,然後按一下 [FlowDecision] 活動加以選取。 在 [屬性視窗] 中,將下列運算式輸入到 [條件] 屬性值方塊中。
Guess = Target
從 [工具箱] 將另一個 [FlowDecision] 活動拖放到第一個活動下方。 從 [FlowDecision] 活動上方標示 [False] 的矩形拖曳到第二個 [FlowDecision] 活動上方的矩形上,連接兩個活動。
提示:
如果 [FlowDecision] 上沒有顯示 [True] 和 [False] 標籤,請將滑鼠游標置於 [FlowDecision] 上方。 按一下第二個 [FlowDecision] 活動加以選取。 在 [屬性視窗] 中,將下列運算式輸入到 [條件] 屬性值方塊中。
Guess < Target
從 [工具箱] 的 [基本] 區段拖曳兩個 [WriteLine] 活動,使其並置於兩個 [FlowDecision] 活動之下。 將底部 [FlowDecision] 活動的 [True] 動作連接至最左邊的 [WriteLine] 活動,然後將 [False] 動作連接至最右邊的 [WriteLine] 活動。
按一下最左邊的 [WriteLine] 活動加以選取,然後在 [屬性視窗] 的 [文字] 屬性值方塊中輸入下列運算式。
"Your guess is too low."
將 [WriteLine] 連接至在其上方的 [Prompt] 活動左邊。
按一下最右邊的 [WriteLine] 活動加以選取,然後在 [屬性視窗] 的 [文字] 屬性值方塊中輸入下列運算式。
"Your guess is too high."
將 [WriteLine] 活動連接至其上方的 [Prompt] 活動的右邊。
下列範例示範完成的工作流程。
若要建置工作流程
按下 F6 以建置方案。
如需如何執行工作流程的指示,請參閱下一個主題 HOW TO:執行工作流程。