共用方式為


.NET Framework 4 中的原則活動

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

Policy4 活動透過直接使用 WF 3.5 隨附的規則引擎,可在 .NET Framework 版本 4 Windows Workflow Foundation (WF 4) 中使用 .NET Framework version 3.5 Windows Workflow Foundation (WF 3.5) RuleSet 物件。 您可以使用這個活動來建立及執行 WF 3.5 RuleSet。 如需詳細資訊包含在 Windows Workflow Foundation 中之 WF 3.5 規則引擎的詳細資訊,請參閱<Windows Workflow Foundation 規則引擎簡介>。 如需有關移轉規則至 .NET Framework 4 WF 的詳細資訊,請參閱移轉指引

Dd797584.Important(zh-tw,VS.100).gif 注意:
這些範例可能已安裝在您的電腦上。 請先檢查下列 (預設) 目錄,然後再繼續。

<InstallDrive>:\WF_WCF_Samples

如果此目錄不存在,請移至用於 .NET Framework 4 的 Windows Communication Foundation (WCF) 與 Windows Workflow Foundation (WF) 範例 (英文),以下載所有 Windows Communication Foundation (WCF) 和 WF 範例。 此範例位於下列目錄。

<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Policy4

這個範例中的專案

專案名稱 說明 主要檔案

Policy4

包含 Policy4 活動及其 WF 設計工具。

Policy4.cs:Policy4 活動定義。

PolicyDesigner.xaml:Policy4 活動的自訂設計工具。 它使用 WF 規則引擎中的規則編輯器 (RuleSetDialog 類別)。

ImperativeCodeClientSample

範例用戶端應用程式,透過使用命令式 C# 程式碼 (未使用 WF 設計工具) 的 Policy4 應用程式,來設定及執行工作流程。

ApplyDiscount.rules:具有 WF 規則定義的檔案。

Order.cs:代表客戶訂單的類型。 規則套用至這個類型的物件。

Program.cs:設定及執行工作流程,其中有 Policy4 活動會將 ApplyDiscount.rules 中定義的規則套用至 Order 物件執行個體。

App.config:具有規則檔路徑的組態檔。

DesignerClientSample

範例用戶端應用程式,透過使用 WF 設計工具的 Policy4 應用程式,來設定及執行工作流程。

Sequence1.xaml:使用 Policy4 活動執行規則評估的循序工作流程。

Program.cs:執行 Sequence1.xaml 中定義的工作流程執行個體。

Policy4 活動

Policy4 活動是衍生自 NativeActivity 的類別,允許工作流程執行 WF RuleSets。 下列程式碼範例是活動的公用 OM 簡化定義。

public class Policy4Activity<TResult>: NativeActivity<TResult>
{
    public RuleSet RuleSet

    [IsRequired]
    public InArgument Input

    public OutArgument<ValidationErrorCollection> ValidationErrors
}

屬性 說明

RuleSet

當活動執行時,要評估的 .NET Framework 3.5 WF RuleSet 類別

TargetObject

評估 RuleSet 類別規則的目標物件。

ValidationError

執行前對目標物件驗證 RuleSet 類別時,.NET Framework 3.5 WF 規則引擎傳回的驗證錯誤清單。

Policy4 活動設計工具

在不需要撰寫程式碼的情況下,Policy4 設計工具加入設定 Policy4 活動的功能。 在建置方案之後,可在工具箱的 Microsoft.Samples.Activities.Rules 區段中找到它。

WF 設計工具可讓您設定目標物件和 RuleSet。 按一下 [Edit RuleSet] 按鈕時,就會顯示 .NET Framework 3.5 WF RuleSetDialog 類別。 這個對話方塊是重新裝載的 .NET Framework 3.5 規則編輯器。 使用此編輯器來建立及編輯 Policy4 活動執行的規則。

使用這個範例

不需要特殊設定即可執行此範例。 只要在 Visual Studio 中開啟方案,然後按 F5 執行應用程式。

這個範例包含兩個用戶端應用程式:ImperativeCodeClientSample 和 DesignerClientSample。 ImperativeCodeClientSample 用戶端示範如何透過 C# 命令式程式碼來設定及執行 Policy4 活動。 DesignerClientSample 示範如何透過設計工具來設定及執行 Policy4 活動。

若要執行 ImperativeCodeClientSample 用戶端應用程式

  1. 使用 Visual Studio 2010 開啟 Policy4Sample.sln 方案檔案。

  2. 在 [方案總管] 中,以滑鼠右鍵按一下 ImperativeCodeClientSample 專案,然後選取 [設定為啟始專案]。

  3. 若要執行專案,請按 CTRL+F5。

若要執行 ImperativeCodeClientSample 用戶端應用程式

  1. 使用 Visual Studio 2010 開啟 Policy4Sample.sln 方案檔案。

  2. 在 [方案總管] 中,以滑鼠右鍵按一下 DesignerClientSample 專案。

    • 選取 [設定為啟始專案]。
  3. 若要編譯專案,請按 F6。

  4. 若要執行專案,請按 CTRL+F5。