次の方法で共有


WorkflowInstanceId の取得

このトピックの内容は、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;
        }
}
Ee943758.Important(ja-jp,VS.100).gif 注 :
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。

<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