共用方式為


作法:建立會取用現有服務合約的工作流程服務

.NET Framework 4.5 採用合約優先工作流程開發形式,可在 Web 服務和工作流程中提供更好的整合。 合約優先工作流程開發工具可讓您在 Code First 中設計合約。 此工具會自動在合約中的作業工具箱內產生活動範本。

注意

本主題提供建立合約優先工作流程服務的逐步指示。 如需合約優先工作流程服務開發的詳細資訊,請參閱合約優先工作流程服務開發

建立工作流程專案

  1. 在 Visual Studio 中,選取 [檔案],[新增專案]。 在 [範本] 樹狀中選取 [C#] 節點下的 [WCF] 節點,然後選取 [WCF 工作流程服務應用程式] 範本。

  2. 將新專案命名為 ContractFirst,然後按一下 [確定]

建立服務合約

  1. 在 [方案總管] 中,以滑鼠右鍵按一下專案,然後選取 [新增] > [新增項目]。 選取位在左側的 [程式碼] 節點和位在右側的 [類別] 範本。 將新類別命名為 IBookService,然後按一下 [確定]

  2. 在出現的程式碼視窗頂端,將指示詞新增 usingSystem.ServiceModel

    using System.ServiceModel;
    
  3. 將範例類別定義變更為下列介面定義。

    [ServiceContract]
        public interface IBookService
        {
            [OperationContract]
            void Buy(string bookName);
    
            [OperationContract(IsOneWay=true)]
            void Checkout();
        }
    
  4. 按下 Ctrl+Shift+B 建置此專案。

匯入服務合約

  1. 在 [方案總管] 中,以滑鼠右鍵按一下專案,然後選取 [匯入服務合約]。 開啟 [<目前專案>] 下的所有子節點,再選取 [IBookService]。 按一下 [確定]

  2. 隨即會開啟一個對話方塊,警告您作業已成功完成,且所產生的活動將會在您建置專案後出現在工具箱中。 按一下 [確定]

  3. 按下 Ctrl+Shift+B 建置專案,匯入活動隨即將出現在工具箱中。

  4. 在 [方案總管] 中,開啟 Service1.xamlx。 工作流程服務會出現在設計工具中。

  5. 選取 [序列] 活動。 在 [屬性] 視窗中,按一下 [ImplementedContract] 屬性中的 [...] 按鈕。 在出現的 [類型集合編輯器] 視窗中,按一下 [類型] 下拉式清單,並選取 [瀏覽類型] 項目。 在 [瀏覽並選取 .NET 型別] 對話方塊中,開啟 [<目前專案>] 下的所有子節點並選取 [IBookService]。 按一下 [確定]。 在 [類型集合編輯器] 對話方塊中,按一下 [確定]

  6. 選取並刪除 [ReceiveRequest] 和 [SendResponse] 活動。

  7. 從工具箱拖曳 [Buy_ReceiveAndSendReply] 和 [Checkout_Receive] 活動到 [循序服務] 活動。