이 항목은 Windows Workflow Foundation 4에 적용됩니다.
이 샘플에서는 사용자 지정 활동인 GetWorkflowInstanceId를 사용하여 워크플로 인스턴스 ID를 반환하는 방법을 보여 줍니다.
데모
사용자 지정 활동 개발, 워크플로 인스턴스에 액세스하는 방법
추가 설명
실행 중인 워크플로의 인스턴스 ID를 가져오려면 코드를 작성해야 합니다. 완전히 선언적인 워크플로를 작성하려면 워크플로 인스턴스 ID를 반환할 수 있는 활동이 필요합니다. 그래야만 워크플로에서 해당 활동을 참조하여 완전히 선언적인 워크플로 작성 환경을 제공할 수 있습니다. 인스턴스 ID에 액세스해야 하는 시나리오에는 여러 가지가 있습니다. 예를 들어 로깅 또는 감사를 위한 시나리오도 여기에 해당하며, (가령 SendReply 활동 내에 이 활동을 사용하는 등) 나중에 연결하기 위해 인스턴스 ID를 클라이언트에 다시 제공하여 응용 프로그램 수준의 상관 관계를 만드는 시나리오도 여기에 해당합니다.
GetWorkflowInstanceId는 CodeActivity로 구현됩니다. 이는 Guid 형식의 값을 반환해야 하고 워크플로의 인스턴스 ID를 가져오기 위해 CodeActivityContext에 액세스해야 하기 때문입니다. 그 구현은 비교적 기본적입니다.
public sealed class GetWorkflowInstanceId : CodeActivity<Guid>
{
protected override Guid Execute(CodeActivityContext context)
{
return context.WorkflowInstanceId;
}
}
참고: |
|---|
컴퓨터에 이 샘플이 이미 설치되어 있을 수도 있습니다. 계속하기 전에 다음(기본) 디렉터리를 확인하십시오.
<InstallDrive>:\WF_WCF_Samples
이 디렉터리가 없으면 Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4로 이동하여 WCF(Windows Communication Foundation) 및 WF 샘플을 모두 다운로드하십시오. 이 샘플은 다음 디렉터리에 있습니다.
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\GetWorkflowInstanceId
|
참고: