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