正在获取Microsoft.Azure.WebJobs.Host:无法将参数 'data' 绑定到类型 'System.String'

编程语言 2026-07-12

我有一个Durable Azure Function,在尝试调用一个带有自定义对象参数的Activity(应该会自动进行JSON序列化和反序列化),但遇到了这个错误:

The 'CreateStagingSchema' function is in error:
Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.CreateStagingSchema'.
Microsoft.Azure.WebJobs.Host: Can't bind parameter 'data' to type 'System.String'

以下是调用代码:

public sealed record ActivityInput
{
    public Guid AccountId { get; init; }
    ... all simple types
}

var activityInput = new ActivityInput {
    AccountId = accountId,
    ...
};
await context.CallActivityAsync(nameof(CreateStagingSchema), activityInput);

而这个Activity函数是:

[Function(nameof(CreateStagingSchema))]
public async Task CreateStagingSchema(
  [ActivityTrigger] ActivityInput data, 
  FunctionContext executionContext)
{
    ...
}

解决方案

原来解决办法是把 data 参数改成任意其他名称!显然,data 是一个保留名称或类似的东西。

十分感谢 这篇博客文章 指出了解决方案。特此在此发帖,以供后人参考!

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章