作法:建立適用於 Workflow Manager 1.0 的工作流程
在 Workflow Manager 1.0 入門教學課程 的這個步驟中,建立的工作流程會使用 GetProducts 活動來傳回產品集合。工作流程會逐一查看集合並擷取每個已傳回產品的產品名稱,將其加入清單並設定包含產品名稱的使用者狀態。此狀態會由工作流程用戶端應用程式讀取和顯示,工作流程用戶端應用程式的建立方法會在稍後的教學課程步驟中說明。讀取所有產品之後,工作流程會設定包含產品名稱的使用者狀態,並加以完成。
注意事項 |
---|
如需觀看視訊逐步解說,或下載初學者檔案和完整的教學課程版本,請參閱 Workflow Manager 1.0 - 入門教學課程。 |
在此教學課程步驟中
建立工作流程
建立引數和變數
新增工作流程活動
建立工作流程
若方案尚未在 作法:建立適用於工作流程管理員 1.0 的自訂活動 中開啟,請依教學步驟Visual Studio 2012中的先前步驟開啟方案。
在 [方案總管] 中的 GetProductsActivities 上按一下滑鼠右鍵,並選擇 [新增]、[新項目]。
在 [已安裝] 的 [Visual C# 項目] 節點中,選取 [工作流程]。從 [工作流程] 清單中選取 [活動]。
在 [名稱] 方塊中輸入 GetProductsWorkflow,接著按一下 [新增]。
若未顯示,請在 [方案總管] 中按兩下 GetProductsWorkflow.xaml,以在設計工具中顯示。
從 [工具箱] 的 [控制流程] 區段中拖曳 [序列] 活動,並放置在工作流程設計工具的的 [將活動放置在這裡] 標籤上。
建立引數和變數
在活動設計工具的左下方按一下 [引數],以顯示 [引數] 窗格。
按一下 [建立引數]。
在 [名稱] 方塊中輸入 SearchKeyword,並在 [方向] 下拉清單中選取 [內],接著在 [引數類型] 下拉式清單中選取 [字串]。
在活動設計工具的左下方按一下 [引數],以關閉 [引數] 窗格。
在活動設計工具的左下方按一下 [變數],以顯示 [變數] 窗格。
按一下 [建立變數]。
提示
若未顯示 [建立變數],按一下工作流程設計工具中的[序列] 活動以選取之。
在**[名稱]** 方塊中輸入 ProductsData,接著從 [變數類型] 下拉式清單中選取 [瀏覽器類型] 下拉式清單。
在 [類型名稱] 方塊中輸入 DynamicValue,並從結果清單中選取 DynamicValue,再按一下 [確定]。
按一下 [建立變數]。
在 [名稱] 方塊中輸入 Count,接著從 [變數類型] 下拉式清單中選取 Int32。
按一下 [建立變數]。
在 [名稱] 方塊中輸入 ProductsList,接著從 [變數類型] 下拉式清單中選取 [字串]。
在工作流程設計工具的左下方按一下**[變數]**,以關閉 [變數] 窗格。
新增工作流程活動
從 [工具箱] 的 GetProductsActivities 區段中拖曳 GetProducts 活動,放置在**[序列]** 活動中,再設定以下屬性。
屬性
值
ProductsData
ProductsData
SearchKeyword
SearchKeyword
從 [工具箱] 的 DynamicValue 區段中拖曳 CountDynamicValueItems 活動,並放置在 [序列] 活動中,讓其位於 HttpSend 活動之後,並設定以下屬性值。
屬性
值
結果
計數
來源
ProductsData
從 [工具箱] 的 [執行階段] 區段中拖曳 SetUserStatus,放置在剛才新增的 CountDynamicValueItems 活動之後,然後為 [描述] 屬性設定以下表示式。
"Products: " + Count
從 [工具箱] 的 [基本] 區段中拖曳 Delay,放置在剛才新增的 SetUserStatus 活動之後,然後為 [期間] 屬性設定以下表示式。延遲可讓工作流程用戶端在設定下次狀態之前擷取狀態,並且已新增到本教學課程中。在產品應用程式技術,例如使用訊息活動或在資料庫中寫入記錄時,會用來傳輸資訊。
TimeSpan.FromSeconds(1)
從 [工具箱] 的 [控制流程] 區段中拖曳 While 活動,放置在剛才新增的 SetUserStatus 活動之後。
在活動設計工具的左下方按一下 [變數],以顯示 [變數] 窗格。
按一下 [建立變數]。
在 [名稱] 方塊中輸入 Items,並從 [變數類型] 下拉式清單中選取 Int32,確定已選取 [領域] 下拉式清單中的 While,然後在 [預設] 方塊中輸入 0。
按一下 [建立變數]。
在 [名稱] 方塊中輸入ProductName,並從 [變數類型] 下拉式清單中選取 [字串],確定已選取 [領域] 下拉式清單中的 [While]。
在活動設計工具的左下方按一下 [變數],以關閉 [變數] 窗格。
在 While 活動的 [條件] 方塊中輸入下列表示式。
Items < Count
從 [工具箱] 的 DynamicValue 區段中拖曳 GetDynamicValueProperty<T> 活動,並放置在 While 活動中 [內文]。
在放置活動時出現的 [選取類型] 視窗中,從下拉式清單中選取 [字串],再按一下 [確定]。
在工作流程設計工具中按一下 GetDynamicValueProperty<T> 活動加以選取,並設定以下屬性。
屬性
值
DisplayName
GetProductName
PropertyName
"(" + Items + ")/ProductName"
結果
ProductName
來源
ProductsData
從 [工具箱] 的 [執行階段] 區段中拖曳 SetUserStatus,放置在 While 活動中,讓其位於新增的 GetDynamicValueProperty<T> 活動之後,然後為 [描述] 屬性設定以下表示式。
"Product: " + ProductName
注意事項 請注意,放置 SetUserStatus 之後,會新增包含 [序列] 活動,其中包含 GetDynamicValueProperty <T> 活動和 SetUserStatus 活動。
從 [工具箱] 的 [基本] 區段中拖曳 Delay,放置在剛才新增的 SetUserStatus 活動之後,然後為 [期間] 屬性設定以下表示式。延遲可讓工作流程用戶端在設定下次狀態之前擷取狀態,並且已新增到本教學課程中。
TimeSpan.FromSeconds(1)
從 [工具箱] 的 [基本] 區段中拖曳 [指派] 活動,並放置在剛才新增的 Delay 活動之後,再設定以下屬性。
屬性
值
收件者
Items
值
項目 + 1
從 [工具箱] 的 [基本] 區段中拖曳 [指派] 活動,放置在第一個 Assign 活動之後,再設定以下屬性。
屬性
值
收件者
ProductsList
值
ProductsList + ProductName + "\n"
從 [工具箱] 的 [執行階段] 區段中拖曳 SetUserStatus,放置在 While 活動之後,做為外部 [序列] 中的最後一個活動,並為 [描述] 屬性設定以下表示式。
"Products List:\n" + ProductsList
注意使用者狀態限制在 255 個字元,超過 255 個字元將會加以截斷。
按下 Ctrl+Shift+B 以建置方案。
若要參閱完整工作流程的範例,以及此教學課程步驟的視訊逐步解說,請參閱 Workflow Manager 1.0 - 入門教學課程
如需如何建立發佈和執行工作流程的指示,請參閱教學課程中的下一步作法:發行和執行適用於 Workflow Manager 1.0 的工作流程。