共用方式為


HOW TO:說明如何使用訊息活動建立工作流程服務。

本主題僅適用於 Windows Workflow Foundation 4。

本主題描述如何使用訊息活動建立簡單的工作流程服務。 本主題的重點在於建立工作流程服務的機制,而該服務主要包含的便是訊息活動。 在真實世界的服務中,工作流程包含許多其他活動。 服務會實作一項稱為 Echo 的作業,該作業會使用字串並將字串傳回呼叫端。 本主題即為兩個主題的第一個。 下個主題 HOW TO:存取來自工作流程應用程式的服務討論如何建立工作流程應用程式,該程式可呼叫在本主題中所建立的服務。

若要建立工作流程服務專案

  1. 啟動 Visual Studio 2010。

  2. 按一下 [檔案] 功能表,選取 [新增],然後按一下 [專案],顯示 [加入新的專案] 對話方塊。 從已安裝的範本清單中選取 [工作流程],然後從專案類型清單選取 [WCF 工作流程服務應用程式]。 將專案命名為 MyWFService 並使用預設的位置,如下圖所示。

    新的專案對話

    按一下 [確定] 按鈕以關閉 [加入新的專案] 對話方塊。

  3. 建立專案後,會在設計工具中開啟 Service1.xamlx 檔案,如下圖所示。

    預設的工作流程顯示在設計工具中

    以滑鼠右鍵按一下標示為 [循序服務] 的活動,然後選取 [刪除]。 您會在下一個程序中重新建立該服務。

若要實作工作流程服務

  1. 在畫面的左邊,選取 [工具箱] 索引標籤以顯示工具箱,然後按一下圖釘,將視窗保持在開啟狀態。 展開工具箱的 [訊息] 區段,顯示訊息活動和訊息活動範本,如下圖所示。

    已展開有傳訊索引標籤的工具箱

  2. 將 [ReceiveAndSendReply] 範本拖曳至工作流程設計工具。 這樣做會建立 Sequence 活動,含有跟隨著 SendReply 活動的 [接收] 活動,如下圖所示。

    設計工具中的 ReceiveAndSendReply 樣板

    注意,SendReply 活動的 Request 屬性會設為 Receive,也就是 SendReply 活動所回覆之 Receive 活動的名稱。

  3. Receive 活動中,在標籤名稱為 [OperationName] 的文字方塊中輸入 Echo。 這樣做會定義服務所實作之作業的名稱。

    指定作業名稱

  4. 選取 Receive 活動,按一下 [檢視] 功能表,然後選取 [屬性視窗],開啟屬性視窗 (如果未開啟)。 在 [屬性視窗] 中,向下捲動直到看見 CanCreateInstance,然後按一下核取方塊,如下圖所示。

    CanCreateInstance 屬性

  5. 在設計工具左下角,選取 Sequence 活動,然後按一下 [變數] 按鈕。 如此將會顯示變數編輯器。 按一下 [建立變數] 連結加入變數,以儲存傳送至作業的字串。 將變數命名為 msg,然後將其 [變數] 型別設為 [字串],如下圖所示。

    加入變數

    再按一次 [變數] 按鈕,關閉變數編輯器。

  6. Receive 活動的 [內容] 文字方塊中,按一下 [定義] 連結,以顯示 [內容定義] 對話方塊。 選取 [參數] 選項按鈕,按一下 [加入新的參數] 連結,在 [名稱] 文字方塊中輸入 inMsg,在 [型別] 下拉式清單方塊中選取 [字串],然後在 [指派給] 文字方塊中輸入 msg,如下圖所示。

    加入參數內容

    這樣會指定 [接收] 活動接收字串參數,且該資料繫結至 msg 變數。 按一下 [確定] 以關閉 [內容定義] 對話方塊。

  7. SendReply 活動的 [內容] 方塊中,按一下 [定義] 連結,以顯示 [內容定義] 對話方塊。 選取 [參數] 選項按鈕,按一下 [加入新的參數] 連結,在 [名稱] 文字方塊中輸入 msg,在 [型別] 下拉式清單方塊中選取 [字串],以及在 [] 文字方塊中輸入 msg,如下圖所示。

    加入參數內容

    這樣會指定 SendReply 活動傳送訊息或訊息合約型別,且該資料繫結至 msg 變數。 由於此為 SendReply 活動,代表 msg 中的資料是用來填入由活動傳回用戶端的訊息。 按一下 [確定] 以關閉 [內容定義] 對話方塊。

  8. 按一下 [建立] 功能表然後選取 [建立方案] 來儲存並建立方案。

設定工作流程服務專案。

工作流程執行服務已完成。 本節說明如何設定工作流程服務方案,讓裝載和執行更順利。 此方案是使用 ASP.NET 程式開發伺服器來裝載服務。

若要設定專案啟動選項

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 [MyWFService],然後選取 [屬性] 以顯示 [專案屬性] 對話方塊。

  2. 選取 [Web] 索引標籤並選取 [起始動作] 底下的 [指定頁],然後在文字方塊中輸入 Service1.xamlx,如下圖所示。

    專案屬性對話方塊

    這樣做會裝載在 ASP.NET 程式開發伺服器的 Service1.xamlx 中所定義的服務。

  3. 按 Ctrl+F5 啟動服務。 [ASP.NET 程式開發伺服器] 圖示會顯示在桌面的右下角,如下圖所示。

    ASP.NET 開發人員伺服器圖示

    此外,Internet Explorer 還會顯示該服務的 WCF 服務說明網頁。

    WCF 說明頁面

  4. 請繼續參閱 HOW TO:存取來自工作流程應用程式的服務主題,建立可呼叫此服務的工作流程用戶端。

另請參閱

概念

使用訊息活動

其他資源

工作流程服務
裝載工作流程服務