Windows Workflow Foundation (wwf) 學習筆記(二)

來源:互聯網
上載者:User
Windows Workflow Foundation (wwf) 學習筆記(二)

4、           Sequential Workflow With ParametersWorkflow的流程是可以帶參數的,這樣,流程代碼可以根據外界參數的值來對後面執行情況進行選擇判斷。在本例用選中SequentialWorkflow對象,可以看到該對象有Parameters屬性,點擊該屬性,探出如表單:這裡可以定義多個Parameter對象,包括對象的Name、Type等屬性,Direction用於表明該參數是輸入參數還是輸出參數。本例中定義了amount輸入參數,和status輸出參數。本例流程,ifElseBranch1的Condition屬性的執行方法如下: private bool IsApproved(object sender, EventArgs e)        {            if (Convert.ToInt32(this.Parameters["amount"].Value) < 500)                return true;            else                return false;        }這裡是根據外界傳遞來的參數amount的值判斷ifElse最終選擇的路徑的。在Code1中:private void Approved(object sender, EventArgs e){    this.Parameters["status"].Value = "approved";}在Code2中:private void Rejected(object sender, EventArgs e){    this.Parameters["status"].Value = "rejected";}Code1和Code2分別給出了2種路徑的輸出參數值。在看看Program.cs中是怎樣調用這個帶參數的工作流程的Dictionary<string, object> parameters = new Dictionary<string, object>();parameters.Add("amount", Convert.ToInt32(args[0])); // Load the workflow typeType type = typeof(SequentialWorkflowWithParameters); // Create and start an instance of the workflowworkflowRuntime.StartWorkflow(type, parameters);在工作流程結束的事件中,通過OutputParameters屬性,拿到了輸出參數status的值。static void OnWorkflowCompleted(object sender, WorkflowCompletedEventArgs workflowCompletedEventArgs){ //The order status is stored in the "status" "in" parameter string orderStatus = workflowCompletedEventArgs.OutputParameters["status"].ToString(); Console.WriteLine("Order was " + orderStatus); waitHandle.Set();}

posted on 2006-05-08 15:07 安徒生的童話 閱讀(1152) 評論(2)  編輯 收藏 引用 網摘

評論
  • 夏林
    Posted @ 2006-05-08 16:16
    頂,我手上的工作也正需要研究這一塊,一起討論。

    徐匯  回複  更多評論   

  • # re: Windows Workflow Foundation (wwf) 學習筆記(二)

    隨風飄散
    Posted @ 2006-05-09 15:18
    兄弟加入WinFX團隊呀,一起研究WinFX  回複  更多評論   

# re: Windows Workflow Foundation (wwf) 學習筆記(二)

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.