You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Logic App中Execute CSharp Script Code动作返回数据及结果消费咨询

在Azure Logic App的Execute CSharp Script Code动作中返回数据并消费结果

一、从C#脚本返回数据到工作流

无需依赖设计器中的特殊配置界面,直接在C#脚本内通过return语句返回可序列化的数据即可,支持多种数据类型:

  • 基本类型(字符串、数字、布尔值等)
  • 自定义匿名/强类型对象
  • 数组、List等集合类型

示例代码

  • 返回字符串:
return "脚本处理完成的结果内容";
  • 返回自定义对象:
return new {
    OrderId = "ORD-2024-001",
    Status = "已处理",
    ProcessedAt = DateTime.UtcNow
};
  • 返回集合:
return new List<object> {
    new { Id = 1, Name = "产品A" },
    new { Id = 2, Name = "产品B" }
};

注意:返回的数据必须支持JSON序列化,避免返回未标记可序列化的复杂类、非托管对象等无法序列化的类型。

二、后续步骤消费脚本执行结果

脚本执行完成后,其输出会作为该动作的结果存储,后续步骤可通过以下方式访问:

1. 直接选择动态内容

在后续动作的输入框中,打开动态内容面板,找到对应的Execute CSharp Script Code动作:

  • 若返回基本类型,直接选择Result字段;
  • 若返回对象,面板会展开Result下的所有属性,直接选择目标属性(如Result OrderId);
  • 若返回集合,可将Result字段拖入循环动作(如For each)中遍历每一项。

2. 使用表达式访问

如果需要复杂逻辑处理,可通过表达式语法访问结果,格式如下:

@{body('Execute_CSharp_Script_Code')?['属性名']}

例如,获取自定义对象的Status属性:

@{body('Execute_CSharp_Script_Code')?['Status']}

遍历集合时,循环内可通过items('循环动作名称')访问当前项的属性,如:

@{items('For_each')?['Name']}

3. 空值处理

使用?运算符可避免空值引发的报错,例如当属性可能不存在时,写法为:

@{body('Execute_CSharp_Script_Code')?['可选属性']}

内容的提问来源于stack exchange,提问作者Chris Harrington

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 01:03:17