WorkflowInstanceId の取得
GetWorkflowInstanceId サンプルでは、カスタム アクティビティ GetWorkflowInstanceId
を使用して、ワークフロー インスタンス ID を返す方法を示します。
対象
カスタム アクティビティの開発、ワークフロー インスタンスにアクセスする方法。
ディスカッション
実行中のワークフローのインスタンス ID を取得するには、コードを記述する必要があります。 完全な宣言型のワークフローを記述する場合は、ワークフロー インスタンス ID を返すことができるアクティビティが必要です。そのアクティビティをワークフローで参照することで、完全な宣言型のワークフローを作成できるようになります。 多くのシナリオで、インスタンス ID へのアクセスが必要になります。例としては、ログ記録または監査のためや、後で連携できるようにインスタンス ID をクライアントに返送する (たとえば、SendReply アクティビティ内でこのアクティビティを使用する) ことでアプリケーション レベルの関連付けを行うためなどが挙げられます。
GetWorkflowInstanceId
は、CodeActivity<TResult> 型の値を返す必要があり、ワークフローのインスタンス ID を取得するために Guid にアクセスできる必要があるので、CodeActivityContext として実装されます。 この実装は非常に基本的なものです。
public sealed class GetWorkflowInstanceId : CodeActivity<Guid>
{
protected override Guid Execute(CodeActivityContext context)
{
return context.WorkflowInstanceId;
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET