使用 CodeActivity 類別撰寫工作流程活動
繼承自 CodeActivity 所建立的活動可藉由覆寫 Execute 方法來實作基本命令式行為。
使用 CodeActivityContext
工作流程執行階段的功能可透過 Execute 方法內部存取,方法是使用 context
參數的成員 (型別為 CodeActivityContext)。 透過 CodeActivityContext 可使用的功能如下:
取得與設定引數和變數的值。
使用 Track 自訂追蹤功能。
使用 GetProperty 存取活動的執行屬性。
若要建立繼承自 CodeActivity 的自訂活動
開啟 Visual Studio 2010。
依序選取 [檔案]、[新增]、[專案]。 在 [專案類型] 視窗中,選取 [Visual C#] 下方的 [Workflow 4.0],然後選取 [v2010] 節點。 選取 [範本] 視窗中的 [活動程式庫]。 將新專案命名為 HelloActivity。
以滑鼠右鍵按一下 HelloActivity 專案中的 Activity1.xaml,然後選取 [刪除]。
以滑鼠右鍵按一下 HelloActivity 專案並選取 [新增],然後選取 [類別]。 將新類別命名為 HelloActivity.cs。
在 HelloActivity.cs 檔案中加入下列
using
指示詞。using System.Activities; using System.Activities.Statements;
將基底類別加入至類別宣告,使新的類別繼承自 CodeActivity。
class HelloActivity : CodeActivity
加入 Execute 方法,藉此將功能加入至類別中。
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); }
使用 CodeActivityContext 建立追蹤記錄。
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); CustomTrackingRecord record = new CustomTrackingRecord("MyRecord"); record.Data.Add(new KeyValuePair<String, Object>("ExecutionTime", DateTime.Now)); context.Track(record); }