WorkflowCreationContext.OnBeginWorkflowCompleted 메서드

정의

워크플로 인스턴스 완료 알림을 수행하기 위한 비동기 작업을 시작합니다. 이 메서드는 이 메서드와 연결된 워크플로 인스턴스가 WorkflowCreationContext 완료될 때 호출됩니다. 파생 클래스는 워크플로 인스턴스 완료 시 사용자 지정 작업을 수행하도록 이 작업을 재정의할 수 있습니다.

protected public:
 virtual IAsyncResult ^ OnBeginWorkflowCompleted(System::Activities::ActivityInstanceState completionState, System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ workflowOutputs, Exception ^ terminationException, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
protected internal virtual IAsyncResult OnBeginWorkflowCompleted(System.Activities.ActivityInstanceState completionState, System.Collections.Generic.IDictionary<string,object> workflowOutputs, Exception terminationException, TimeSpan timeout, AsyncCallback callback, object state);
abstract member OnBeginWorkflowCompleted : System.Activities.ActivityInstanceState * System.Collections.Generic.IDictionary<string, obj> * Exception * TimeSpan * AsyncCallback * obj -> IAsyncResult
override this.OnBeginWorkflowCompleted : System.Activities.ActivityInstanceState * System.Collections.Generic.IDictionary<string, obj> * Exception * TimeSpan * AsyncCallback * obj -> IAsyncResult
Protected Friend Overridable Function OnBeginWorkflowCompleted (completionState As ActivityInstanceState, workflowOutputs As IDictionary(Of String, Object), terminationException As Exception, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

completionState
ActivityInstanceState

워크플로 인스턴스의 상태입니다.

workflowOutputs
IDictionary<String,Object>

워크플로 인스턴스에서 생성된 출력을 포함하는 키/값 쌍의 컬렉션입니다.

terminationException
Exception

있는 경우 워크플로가 종료되는 오류가 발생합니다.

timeout
TimeSpan

비동기 작업이 완료되어야 하는 시간 간격입니다.

callback
AsyncCallback

비동기 작업이 완료되면 컨트롤이 반환되는 애플리케이션의 위치입니다.

state
Object

사용자 정의 상태입니다.

반품

비동기 작업의 상태입니다.

예제

다음 예제에서는 메서드를 구현 OnBeginWorkflowCompleted 하는 방법을 보여줍니다.

protected override IAsyncResult OnBeginWorkflowCompleted(ActivityInstanceState completionState, IDictionary<string, object> workflowOutputs,
    Exception faultedReason, TimeSpan timeout, AsyncCallback callback, object state)
{
    if (completionState == ActivityInstanceState.Faulted)
    {
        Console.WriteLine("InstanceId :" + InstanceId + " OnBeginWorkflowTerminated");
    }
    else if (completionState == ActivityInstanceState.Canceled)
    {
        Console.WriteLine("InstanceId :" + InstanceId + " OnBeginWorkflowCanceled");
    }
    else
    {
        Console.WriteLine("InstanceId :" + InstanceId + " OnBeginWorkflowCompleted");
        WorkflowHostingResponseContext responseContext = UserState as WorkflowHostingResponseContext;
        if (responseContext != null)
        {
            foreach (object value in workflowOutputs.Values)
            {
                responseContext.SendResponse(value, null);
                break;
            }
        }
    }
    return base.OnBeginWorkflowCompleted(completionState, workflowOutputs, faultedReason, timeout, callback, state);
}

적용 대상