次の方法で共有


CompensatableSequenceActivity アクティビティの使用

CompensatableSequenceActivity アクティビティは、ICompensatableActivity インターフェイスを実装する SequenceActivity アクティビティの補正可能なバージョンです。CompensatableSequenceActivity は、ICompensatableActivity インターフェイスを実装します。このインターフェイスを実装することにより、CompensatableSequenceActivity は、CompensationHandlerActivity を子として追加できます。このアクティビティは、CompensatableSequenceActivity が補正される場合に実行されます。

補正は、ICompensatableActivity を実装するアクティビティが正常に完了した場合にのみ発生します。補正は、親アクティビティで発生した例外の結果として暗黙的に行われるか、CompensateActivity アクティビティを使用することによって明示的に行われます。

CompensatableSequenceActivity の使用は、何らかのエラー状態があるために後で操作を取り消す必要がある非トランザクションの処理を実行する場合に適しています。たとえば、ワークフローが電子メール メッセージを送信し、その後に発生したエラーのために取り消しの電子メールを送信する必要がある場合、これは、最初の電子メールを送信するアクティビティを CompensatableSequenceActivity アクティビティに配置し、対応する CompensationHandlerActivity に取り消しの電子メールを送信するアクティビティを配置することにより実現します。したがって、ランタイムは、最初の CompensatableSequenceActivity が正常に完了した場合 (最初の電子メールが送信された場合) にのみ、補正ロジックを実行します。

SequenceActivity アクティビティの動作の詳細については、「SequenceActivity アクティビティの使用」を参照してください。

補正の詳細については、「CompensateActivity アクティビティの使用」および「CompensationHandlerActivity アクティビティの使用」を参照してください。

補正の使用方法を示すコード サンプルは、「Compensation Sample」を参照してください。

関連項目

参照

SequenceActivity
CompensateActivity
CompensationHandlerActivity
ICompensatableActivity
CompensatableSequenceActivity
CompensatableTransactionScopeActivity

概念

SequenceActivity アクティビティの使用
ワークフロー内での補正の使用
CompensateActivity アクティビティの使用
CompensationHandlerActivity アクティビティの使用
CompensatableTransactionScopeActivity アクティビティの使用
補正の概要

その他の技術情報

Compensation Sample
Windows Workflow Foundation アクティビティ

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.