WorkflowCreationContext.OnBeginWorkflowCompleted 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
워크플로 인스턴스 완료 알림을 수행할 비동기 작업을 시작합니다. 이 메서드는 이 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);
}