次の方法で共有


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

適用対象