1. 修改了FlowResult的创建方式,新增了IsSuccess与Message,为后续进行流程日志追踪准备。

2. 修复了删除节点时,没有正确消除与之相关的参数获取关系。
3. IFlowNode新增了StartFlowAsync方法。
4. Library项目中FlowNodeExtension拓展类转移到了NodeFlow项目中。
5.  修改了Script自定义参数保存,对参数类型、返回值类型进行保存。
6. Library.Utils.BenchmarkHelpter中添加了Task、Task<>的重载方法。
7. NodeFlow项目中,FlowEnvironment默认使用通过NewtonsoftJson实现的JSON门户类。
8. NodeFlow项目中,FlowControl缓存了 FlowWorkOptions 选项实体,并且对于 FlowWorkManagement 进行了池化管理(但后续的项目中考虑重构流程任务运行时)。
This commit is contained in:
fengjiayi
2025-07-30 11:29:12 +08:00
parent 8dc7f5dd9b
commit 48289dae11
27 changed files with 965 additions and 106 deletions

View File

@@ -90,7 +90,7 @@ namespace Serein.NodeFlow.Model.Nodes
public override async Task<FlowResult> ExecutingAsync(IFlowContext context, CancellationToken token)
{
if(token.IsCancellationRequested) return new FlowResult(this.Guid, context);
if(token.IsCancellationRequested) return FlowResult.Fail(this.Guid, context, "流程已通过token取消");
object? parameter = null;// context.TransmissionData(this); // 表达式节点使用上一节点数据
var pd = MethodDetails.ParameterDetailss[0];
@@ -131,13 +131,13 @@ namespace Serein.NodeFlow.Model.Nodes
{
var result = await GetValueExpressionAsync(context, parameter, Expression);
context.NextOrientation = ConnectionInvokeType.IsSucceed;
return new FlowResult(this.Guid, context, result);
return FlowResult.OK(this.Guid, context, result);
}
catch (Exception ex)
{
context.NextOrientation = ConnectionInvokeType.IsError;
context.ExceptionOfRuning = ex;
return new FlowResult(this.Guid, context);
return FlowResult.Fail(this.Guid, context, ex.Message);
}
}