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