日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

   Workflow-Core    

Workflow-Core 是一個開源的工作流引擎項目,它提供了一個輕量級的框架,用于在.NET 應(yīng)用程序中創(chuàng)建和管理工作流程。它基于.NET Standard,并且可以在各種平臺上運行,包括 windows、linux 和 macOS。

功能特性    

1. 靈活的工作流程定義:使用 Workflow-Core,您可以輕松定義和構(gòu)建復(fù)雜的工作流程。工作流程由一系列步驟(Activities)組成,這些步驟可以串行、并行或條件性地執(zhí)行。您可以定義工作流程的輸入和輸出參數(shù),以及每個步驟的條件和依賴關(guān)系。

2. 可擴(kuò)展性和可定制性:Workflow-Core 允許您擴(kuò)展和自定義工作流引擎的行為。您可以編寫自己的活動(Activity)和觸發(fā)器(Trigger),以滿足特定的業(yè)務(wù)需求。還可以通過自定義的服務(wù)注入(Dependency Injection)來定制工作流程的行為。

3. 持久化和恢復(fù):Workflow-Core 支持工作流程的持久化和恢復(fù)。這意味著即使在應(yīng)用程序關(guān)閉或崩潰后,工作流程的狀態(tài)也會得到保存,并且可以在應(yīng)用程序重新啟動時繼續(xù)執(zhí)行。它使用持久化提供程序(Persistence Provider)將工作流程數(shù)據(jù)保存到數(shù)據(jù)庫或其他持久化存儲中。

4. 監(jiān)控和跟蹤:Workflow-Core 提供了監(jiān)控和跟蹤工具,用于實時跟蹤工作流程的執(zhí)行狀態(tài)和性能指標(biāo)。您可以使用這些工具來診斷問題、優(yōu)化性能和監(jiān)控工作流程的整體健康狀況。

5. 輕量級和高性能:Workflow-Core 設(shè)計為輕量級和高性能。它采用異步執(zhí)行模型,并且在處理大量并發(fā)工作流程時具有良好的性能表現(xiàn)。它還提供了緩存機(jī)制和并行執(zhí)行,以提高工作流程的執(zhí)行效率。

如何使用    

安裝 NuGet 包“WorkflowCore”

dotnet add package WorkflowCore

Fluent API

使用 Fluent API 定義工作流。

public class MyWorkflow : IWorkflow { public void Build(IWorkflowBuilder<MyData> builder) { builder .StartWith<Task1>() .Then<Task2>() .Then<Task3>; } } 基本概念    

工作流由一系列相互關(guān)聯(lián)的步驟組成。每個步驟都可以有輸入并產(chǎn)生輸出,這些輸出可以傳遞回它所在的工作流。

通過創(chuàng)建繼承自StepBody或StepBodyAsync抽象類的類并實現(xiàn) Run/RunAsync 方法來定義步驟。

看看下面的例子:

public class HelloWorld : StepBody { public override ExecutionResult Run(IStepExecutionContext context) { Console.WriteLine("Hello world"); return ExecutionResult.Next(); } }

然后我們通過組成一系列步驟來定義工作流結(jié)構(gòu)。這是通過實現(xiàn) IWorkflow 接口完成的,如下:

public class HelloWorldWorkflow : IWorkflow { public string Id => "HelloWorld"; public int Version => 1; public void Build(IWorkflowBuilder<object> builder) { builder .StartWith<HelloWorld>() .Then<GoodbyeWorld>(); } }

Workflow-Core 還支持了 JSON 和 YAML 格式,在 JSON 中實現(xiàn)的這個工作流看起來像這樣:

{ "Id": "HelloWorld", "Version": 1, "Steps": [ { "Id": "Hello", "StepType": "MyApp.HelloWorld, MyApp", "NextStepId": "Bye" }, { "Id": "Bye", "StepType": "MyApp.GoodbyeWorld, MyApp" } ] } 與 ASP.NET Core 一起使用    

在您的啟動類中,使用AddWorkflow擴(kuò)展方法配置工作流核心服務(wù),如下

public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddWorkflow(cfg => { cfg.UseMongoDB(@"mongodb://mongo:27017", "workflow"); cfg.UseElasticsearch(new ConnectionSettings(new Uri("http://elastic:9200")), "workflows"); }); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMvc(); var host = app.ApplicationServices.GetService<IWorkflowHost>(); host.RegisterWorkflow<TestWorkflow, MyDataClass>(); host.Start(); } } 持久化    

由于工作流通常是長時間運行的過程,因此它們需要在步驟之間持久存儲。有幾個持久性提供程序可作為單獨的 Nuget 包使用。

• MemoryPersistenceProvider

• MongoDB

• SQL Server

• PostgreSQL

• Sqlite

• Amazon DynamoDB

• Cosmos DB

• redis

多節(jié)點集群    

默認(rèn)情況下,WorkflowHost 服務(wù)將作為單個節(jié)點運行,如果您希望運行多節(jié)點集群,則需要配置外部 MQ 和分布式鎖管理器來協(xié)調(diào)集群。

這里可以使用 Redis 和 RabbitMQ。

 項目地址    https://workflow-core.readthedocs.io/

分享到:
標(biāo)簽:NET
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定