[Compensate] 活動設計工具會用來建立及設定 Compensate 活動。
Compensate 活動
Compensate 活動會明確叫用包含在 CompensableActivity 中之活動的 CompensationHandler。 如果 Compensate 活動沒有在 CompensableActivity 之 CancellationHandler、CompensationHandler 或 ConfirmationHandler 的範圍內使用,您必須指定 Target 屬性。
由 Target 指定的 CompensationToken 提供了一個方法,一旦 CompensableActivity 的 Body 順利完成,即可明確確認或補償 CompensableActivity。
使用 Compensate 活動設計工具
[Compensate] 活動設計工具位於 [工具箱] 的 [交易] 類別中,若要存取,請按一下 工作流程設計工具 左側的 [工具箱] 索引標籤 (也可以從 [檢視] 功能表選取 [工具列],或是按 CTRL+ALT+X)。
[Compensate] 活動設計工具可以從 [工具箱] 拖曳出來,放到 工作流程設計工具 介面上通常用來放置活動的任一處,例如 Sequence 內部。 這會建立一個 Compensate 活動,具有 Compensate 的預設 DisplayName。 DisplayName 值可以在 [Compensate] 活動設計工具的標頭中編輯,或是在屬性方格的 [DisplayName] 方塊中編輯。
Compensate 屬性
下表顯示 CancellationScope 屬性,並且描述屬性在設計工具中的使用方式。 DisplayName 屬性可以在屬性方格中或在 工作流程設計工具 介面上編輯,但 Target 屬性必須在屬性方格中編輯。
| 屬性名稱 | 必要 | 使用方式 |
|---|---|---|
DisplayName |
False |
指定 Compensate 活動選用的易記名稱。 預設為 Compensate。 |
Target |
True |
指定 InArgument,其中包含此 Compensate 活動的 CompensationToken。 |
另請參閱
概念
CompensableActivity 活動設計工具
Compensate 活動設計工具
Confirm 活動設計工具
TransactionScope 活動設計工具