面向云技术架构 - 痴者工良

  • 首页
  • 工良写的电子书
    • kubernetes 教程
    • 从 C# 入门 Kafka
    • 多线程和异步
    • 动态编程-反射、特性、AOP
    • 表达式树
  • 本站文章导航
  • 隐私政策
愿有人陪你颠沛流离
遇到能让你付出的事物或者人,都是一种运气。
能遇到,就该珍惜。或许你们最终没能在一起,但你会切实地感受到力量。
正因为这样,那段相遇才变得有价值,才没有辜负这世间的每一段相遇。
  1. 首页
  2. 笔记和吹水
  3. 正文

Workflow Core 的Json笔记

2019年7月31日 3780点热度 8人点赞 1条评论
内容纲要

Workflow Core 的Json笔记
1,设计项目是,由单独的项目存储那些步骤点,生成单独的dll

json如下

{
  "Id": "HelloWorld11",
  "Version": 1,
  "Steps": [
    {
      "Id": "Hello",
      "StepType": "Test6.Steps.HelloWorld, Test6",
      "NextStepId": "Bye"
    },
    {
      "Id": "Bye",
      "StepType": "Test6.Steps.GoodbyeWorld, Test6"
    }
  ]
}

"StepType": "Test6.Steps.HelloWorld, Test6",
格式是:"{类的完全限定名},{生成的dll程序集名称}"

调用代码

    class Program
    {
        public static void Main(string[] args)
        {
            IServiceProvider serviceProvider = ConfigureServices();

            //start the workflow host
            var host = serviceProvider.GetService<IWorkflowHost>();
            var DefinitionLoader = serviceProvider.GetService<IDefinitionLoader>();
            var jsonstr =System.IO.File.ReadAllText(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "test1.json"));
            var z = DefinitionLoader.LoadDefinition(jsonstr, Deserializers.Json);
            host.Start();

            Console.WriteLine("Starting workflow...");
            string workflowId = host.StartWorkflow(z.Id).Result;
            Console.WriteLine(workflowId);

            Console.ReadLine();
            host.Stop();
        }

        private static IServiceProvider ConfigureServices()
        {
            //setup dependency injection
            IServiceCollection services = new ServiceCollection();
            services.AddLogging();
            services.AddWorkflow();        

            services.AddTransient<IDefinitionLoader, DefinitionLoader>();
            var serviceProvider = services.BuildServiceProvider();

            //config logging
            var loggerFactory = serviceProvider.GetService<ILoggerFactory>();
            loggerFactory.CreateLogger("Debug");
            return serviceProvider;
        }
    }
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: core json workflow 笔记
最后更新:2019年12月7日

痴者工良

高级程序员劝退师

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022 whuanle.cn. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备18051778号

粤公网安备 44030902003257号