Task ResumeOrchestrationAsync(OrchestrationExecutionCursor cursor) { var dispatchContext = new DispatchMiddlewareContext(); dispatchContext.SetProperty(cursor.RuntimeState.OrchestrationInstance); dispatchContext.SetProperty(cursor.TaskOrchestration); dispatchContext.SetProperty(cursor.RuntimeState); return(this.dispatchPipeline.RunAsync(dispatchContext, _ => { cursor.LatestDecisions = cursor.OrchestrationExecutor.ExecuteNewEvents(); return CompletedTask; })); }
Task ResumeOrchestrationAsync(TaskOrchestrationWorkItem workItem) { OrchestrationExecutionCursor cursor = workItem.Cursor; var dispatchContext = new DispatchMiddlewareContext(); dispatchContext.SetProperty(cursor.RuntimeState.OrchestrationInstance); dispatchContext.SetProperty(cursor.TaskOrchestration); dispatchContext.SetProperty(cursor.RuntimeState); dispatchContext.SetProperty(workItem); cursor.LatestDecisions = Enumerable.Empty <OrchestratorAction>(); return(this.dispatchPipeline.RunAsync(dispatchContext, _ => { cursor.LatestDecisions = cursor.OrchestrationExecutor.ExecuteNewEvents(); return CompletedTask; })); }
async Task ResumeOrchestrationAsync(TaskOrchestrationWorkItem workItem) { OrchestrationExecutionCursor cursor = workItem.Cursor; var dispatchContext = new DispatchMiddlewareContext(); dispatchContext.SetProperty(cursor.RuntimeState.OrchestrationInstance); dispatchContext.SetProperty(cursor.TaskOrchestration); dispatchContext.SetProperty(cursor.RuntimeState); dispatchContext.SetProperty(workItem); cursor.LatestDecisions = Enumerable.Empty <OrchestratorAction>(); await this.dispatchPipeline.RunAsync(dispatchContext, _ => { OrchestratorExecutionResult result = cursor.OrchestrationExecutor.ExecuteNewEvents(); dispatchContext.SetProperty(result); return(CompletedTask); }); var result = dispatchContext.GetProperty <OrchestratorExecutionResult>(); cursor.LatestDecisions = result?.Actions ?? Enumerable.Empty <OrchestratorAction>(); cursor.RuntimeState.Status = result?.CustomStatus; }