다음을 통해 공유


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

사용자 정의 상태입니다.

반환

IAsyncResult

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

예제

다음 예제에서는 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);
}

적용 대상