共用方式為


使用 PolicyActivity 活動

您可以使用 PolicyActivity 活動代表規則的集合。 規則,其中包含條件和結果動作。 您可以將規則想像成 IF-THEN-ELSE 陳述式,具有對應至 IF 的條件,與定義 THENELSE 子句行為的動作。

動作可以執行以下動作:

  • 設定工作流程上的欄位或屬性。

  • 呼叫工作流程上的方法或工作流程中的物件。

  • 針對參考組件中的型別呼叫靜態方法。

  • 執行 HaltUpdate 陳述式。

規則集條件和動作

您建立規則集條件的運算式,和 ThenElse 動作。 如需條件的詳細資訊,請參閱在工作流程中使用條件

條件所支援的運算式運算子與動作相同,不同的是 "=" 運算子用於指派,而非等號。

Halt 和 Update

您也可以在與動作搭配使用的運算式中使用 HaltUpdate 函式。 Halt 動作會造成規則集執行立即停止,將控制項傳回呼叫程式碼。 您也可以將 Update 函式與向前鏈結搭配使用。 如需如何將 Update 與向前鏈結搭配使用的詳細資訊,請參閱本主題稍後討論的「明確向前鏈結」一節。

PolicyActivity 和 RuleSet 類別

若要在工作流程中使用 PolicyActivity 活動,請將 PolicyActivity 類別新增至工作流程程式碼。 然後設定 PolicyActivity 上的 RuleSetReference 屬性,以按照 RuleSetCollection 中的名稱指向 RuleSetPolicyActivity 活動會建立 RuleSet 類別的執行個體;它是執行規則的 RuleSet 類別。 PolicyActivity 活動包含規則作業所在的屬性。 當規則的條件評估為 true 時,則執行其 Then 動作。 當條件評估為 false 時,執行 Else 動作。

每個規則都有 Priority 屬性,它會管理評估規則和執行其動作的順序。 Windows Workflow Foundation 規則評估工具會個別評估規則,並根據規則條件評估的結果執行其動作。 優先順序較高的規則會比優先順序低的規則先執行;優先順序相同的規則會按照規則名稱的字母順序排序。 優先順序可以是正數和負數。 規則的預設優先順序為零。 如需 RuleSet 中規則優先順序的詳細資訊,請參閱 RuleSet 中的規則評估按照優先順序執行 RuleSet

每個規則都有 Rule Active 屬性可決定是否應評估該規則。

請參閱

參考

PolicyActivity
Rule
RuleSet
RuleSetCollection
RuleAttributeTarget
RuleReadAttribute
RuleWriteAttribute
RuleInvokeAttribute

概念

HOW TO:在工作流程中使用規則條件
按照優先順序執行 RuleSet
規則和條件概觀

其他資源

Simple Policy Sample
Advanced Policy Sample
教學課程:使用規則與條件
Windows Workflow Foundation 活動

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.