コード例 #1
0
        public async Task <IActionResult> Trigger(string token, CancellationToken cancellationToken)
        {
            if (!tokenService.TryDecryptToken(token, out Signal signal))
            {
                return(NotFound());
            }

            var workflowInstance = await workflowInstanceStore.GetByIdAsync(signal.WorkflowInstanceId, cancellationToken);

            if (workflowInstance == null)
            {
                return(NotFound());
            }

            var input = new Variables
            {
                ["signal"] = signal.Name
            };

            await workflowInvoker.ResumeAsync(workflowInstance, input, cancellationToken : cancellationToken);

            return(HttpContext.Items.ContainsKey(WorkflowHttpResult.Instance)
                ? (IActionResult) new EmptyResult()
                : Accepted());
        }
コード例 #2
0
ファイル: WorkflowHost.cs プロジェクト: jangocheng/Elsa
        public async Task <WorkflowExecutionContext> ResumeWorkflowAsync(Workflow workflow, IActivity activity, Variables arguments, CancellationToken cancellationToken)
        {
            var workflowContext = await invoker.ResumeAsync(workflow, activity, arguments, cancellationToken);

            await workflowStore.UpdateAsync(workflow, cancellationToken);

            return(workflowContext);
        }
コード例 #3
0
 public async Task <WorkflowExecutionContext> ResumeWorkflowAsync(Workflow workflow, IActivity activity, Variables arguments, CancellationToken cancellationToken)
 {
     return(await invoker.ResumeAsync(workflow, activity, arguments, cancellationToken));
 }