オーケストレーション デバッガーを使用する際の考慮事項
オーケストレーション デバッガーを使用して作業するときの考慮事項を次に示します。
アトミックのスコープの追跡
オーケストレーションには、ルール エンジンへの呼び出しを含むアトミックのスコープを含めることができます。 オーケストレーション デバッガー内のインスタンスにアタッチすると、オーケストレーション インスタンス内のアトミック スコープが原因で、追跡対象イベントの一覧にギャップが表示されます。 この現象は、次に示す 2 つの理由によって発生します。
アトミックのトランザクション内部の図形に対するイベントは、スコープによってコミットされるまで保存されない。
イベントがデバッガーによって一覧の末尾に再度読み込まれるため、ライブ セッションの間はそれらのギャップが残ったままになる。
表示を更新すると、ギャップがなくなります。
Note
アトミックのスコープ内部の図形にはブレークポイントを設定できません。
例外ハンドラーのスコープのブレークポイントの設定
ブレークポイントを例外キャッチ ハンドラーに設定する場合、例外の種類を必ずシリアル化可能としてマークするか、設定したブレークポイントでオーケストレーション デバッガーが停止しないようにします。 これは、オーケストレーション デバッガーがブレークポイントで永続化を行うため、オーケストレーション インスタンスの状態にシリアル化できないオブジェクトが存在すると、永続性例外がスローされて、この場合は DebugBreakPointFailedException 例外も発生するためです。
変更されたオーケストレーションの追跡
バージョン番号を変えずに変更されたオーケストレーションを追跡する場合、そのオーケストレーションが参加しているすべてのホスト インスタンスを再起動する必要があります。 これにより、オーケストレーション デバッガーをステップ実行すると、新しく展開されたバージョンの図形の変更が正しく表示されます。
単純型の追跡
オーケストレーション デバッガーでサポートされているのは、単純型のみです。 たとえば、.NET オブジェクトが含まれたマルチパート メッセージを追跡する場合、.NET オブジェクト プロパティを除くすべてのメッセージ部分のプロパティを表示できます。
オーケストレーションが "ブレークポイント" 状態のときにオーケストレーション デバッガーを起動すると、次の操作を実行できます。
[サービスのアタッチ] オプションを使用します。
既に完了したステップを確認します。
変数とメッセージの状態を表示します。
追加のブレークポイントを設定します。
[ Continue Service]\(サービスの続行\ ) オプションを選択します。
必要に応じて任意のステップを繰り返します。