現在ワークフローインスタンスを実行しているWorkflowServiceHostにTrackingParticipantを追加および削除したり、そのホストの既存のTrackingParticipantのTrackingProfileを変更したりするにはどうすればよいですか?
これを行う必要がある理由は、WorkflowServiceHostがシステム内の特定のイベントでワークフローを実行しているため、複数のワークフローを同時に実行する可能性があるためです。次に、ユーザーの要求に応じて診断目的で実行時にこれらのアクティビティのトレースを有効にし、ユーザーが不要になったときに再度無効にする必要があります。ワークフローが長時間実行されている可能性があるため、ホストを再起動できません。ただし、ワークフローにすでに関連付けられているWorkflowServiceHostに拡張機能を追加すると、例外がスローされます。また、TrackingParticipantのTrackingProfileは、構築時にのみ変更可能であるようです(?)。
1つの方法は、TrackingParticipantに、有効かどうかを示すブールフラグを設定し、常にすべてを追跡するようにすることですが、無効にした場合は何もしません。しかし、私がこれを試したとき、パフォーマンスへの影響は受け入れられませんでした。Trackメソッドでまったく何もしなかった追跡参加者がいると、単純なwhileループで構成されるワークフローの例が実行に10倍長くかかります。
それで、私がここで望んでいることを達成する方法はありますか?そうでない場合は、なぜですか?