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);
}

適用対象