このトピックの内容は、Windows Workflow Foundation 4 に該当します。
このサンプルでは、カスタム アクティビティ GetWorkflowInstanceId
を使用して、ワークフロー インスタンス ID を返す方法を示します。
使用例
カスタム アクティビティの開発、ワークフロー インスタンスにアクセスする方法。
説明
実行中のワークフローのインスタンス ID を取得するには、コードを記述する必要があります。完全な宣言型のワークフローを記述する場合は、ワークフロー インスタンス ID を返すことができるアクティビティが必要です。そのアクティビティをワークフローで参照することで、完全な宣言型のワークフローを作成できるようになります。多くのシナリオで、インスタンス ID へのアクセスが必要になります。例としては、ログ記録または監査のためや、後で連携できるようにインスタンス ID をクライアントに返送する (たとえば、SendReply アクティビティ内でこのアクティビティを使用する) ことでアプリケーション レベルの関連付けを行うためなどが挙げられます。
GetWorkflowInstanceId
は、Guid 型の値を返す必要があり、ワークフローのインスタンス ID を取得するために CodeActivityContext にアクセスできる必要があるので、CodeActivity として実装されます。この実装は非常に基本的なものです。
public sealed class GetWorkflowInstanceId : CodeActivity<Guid>
{
protected override Guid Execute(CodeActivityContext context)
{
return context.WorkflowInstanceId;
}
}
![]() |
---|
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。
<InstallDrive>:\WF_WCF_Samples
このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\GetWorkflowInstanceId
|