다음을 통해 공유


WorkflowInstanceId 가져오기

GetWorkflowInstanceId 샘플은 사용자 지정 작업 GetWorkflowInstanceId를 사용하여 워크플로 인스턴스 ID를 반환하는 방법을 보여 줍니다.

시연

사용자 지정 활동 개발, 워크플로 인스턴스에 액세스하는 방법

토론(Discussion)

실행 중인 워크플로의 인스턴스 ID를 가져오려면 코드를 작성해야 합니다. 완전히 선언적인 워크플로를 작성하려면 워크플로 인스턴스 ID를 반환할 수 있는 활동이 필요합니다. 그래야만 워크플로에서 해당 활동을 참조하여 완전히 선언적인 워크플로 작성 환경을 제공할 수 있습니다. 인스턴스 ID에 액세스해야 하는 시나리오에는 여러 가지가 있습니다. 예를 들어 로깅 또는 감사를 위한 시나리오도 여기에 해당하며, (가령 SendReply 활동 내에 이 활동을 사용하는 등) 나중에 연결하기 위해 인스턴스 ID를 클라이언트에 다시 제공하여 애플리케이션 수준의 상관 관계를 만드는 시나리오도 여기에 해당합니다.

GetWorkflowInstanceIdCodeActivity<TResult>로 구현됩니다. 이는 Guid 형식의 값을 반환해야 하고 워크플로의 인스턴스 ID를 가져오기 위해 CodeActivityContext에 액세스해야 하기 때문입니다. 그 구현은 비교적 기본적입니다.

public sealed class GetWorkflowInstanceId : CodeActivity<Guid>
{
    protected override Guid Execute(CodeActivityContext context)
    {
        return context.WorkflowInstanceId;
    }
}