• Elsa依据工作流程Id实例化工作流并调用相关节点信号量执行


    Elsa依据工作流程Id实例化工作流并调用相关节点信号量执行

    using Elsa;
    using Elsa.Persistence;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.AspNetCore.Mvc.RazorPages;
    using Elsa.Persistence.Specifications.WorkflowInstances;
    using Elsa.Activities.Signaling.Services;
    using System.Threading;

    namespace Workflow.Dashboard.Host.Pages.Test
    {
        //http://localhost:49814/test/instance?id=576561afe7264ccd854b4b4ce1fcae45&userAction=Approve
        public class instanceModel : PageModel
        {
            private readonly IWorkflowInstanceStore workflowInstanceStore;
            private readonly ISignaler signaler;

            public instanceModel(IWorkflowInstanceStore workflowInstanceStore, ISignaler signaler)
            {
                this.workflowInstanceStore = workflowInstanceStore;
                this.signaler = signaler;
            }
            [BindProperty(SupportsGet = true)]
            public string id { get; set; }

            [BindProperty(SupportsGet = true)]
            public string userAction { get; set; }


            public string DisplayName { get; set; }
            public async Task OnGetAsync()
            {
                var ins = await workflowInstanceStore.FindAsync(new WorkflowInstanceIdSpecification(id));
                DisplayName = ins.DefinitionId;

                var startedWorkflows = await signaler.TriggerSignalAsync(userAction, workflowInstanceId:id);
            }
        }
    }
     

  • 相关阅读:
    FeSoG论文笔记
    通用DBMS MVCC 多版本并发控制设计实现
    WiFi 6的数据在发送端分片和在接收端重组的理解
    DeepStream--测试代码
    《lwip学习7》-- IP协议
    python基础项目实战-俄罗斯方块
    TensorFlow实现神经网络推理
    Vue2--11种组件通信、Vue2处理响应式数据
    Linux 下的截屏并编辑的工具-flamshot安装及使用
    VCS 工具学习笔记(1)
  • 原文地址:https://blog.csdn.net/dacong/article/details/126322098