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

.NET Isolated Azure Durable Functions:调用无输入参数活动函数的优化方案

修复Durable Functions活动函数参数无法填充的错误

你的问题出在活动函数的参数类型使用错误:TaskOrchestrationContext是编排器函数的上下文类型,不能用在活动函数的[ActivityTrigger]绑定参数中,运行时无法为这个类型填充值,所以抛出错误。

正确的解决方法

活动函数的[ActivityTrigger]绑定参数应该对应编排器传入的输入数据类型。由于你的活动函数不需要输入参数,可以将参数类型改为object或string(不传参数时会自动设为null),代码示例如下:

活动函数正确代码

[Function("IngestFeedActivity")]
public async Task IngestDisruptions([ActivityTrigger] object input)
{
    // 读取环境变量
    var feedUrl = Environment.GetEnvironmentVariable("FEED_URL");
    // 执行Feed读取逻辑
}

或者更简洁地使用string类型:

[Function("IngestFeedActivity")]
public async Task IngestDisruptions([ActivityTrigger] string input)
{
    // 业务逻辑同上
}

编排器调用代码保持不变

await context.CallActivityAsync("IngestFeedActivity");

为什么之前的写法错误

TaskOrchestrationContext仅在带有[OrchestrationTrigger]的编排器函数中有效,用于管理编排流程、调用活动/子编排等操作。活动函数无法获取到这个上下文对象,所以运行时无法为该参数赋值,即使你添加了null默认值,这个参数也始终是null,属于错误的用法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:55:03