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

C# Azure Function队列触发器使用新版Service Bus库报错咨询

问题解决方法
  • 第一步:修正触发器参数类型
    新版Azure.Messaging.ServiceBus库中,接收消息对应的原生类型是ServiceBusReceivedMessage,你用到的ServiceBusMessage是发送消息专用的类型,不能用于触发器注入,这是报错的核心原因。
  • 第二步:升级Service Bus扩展包版本
    确保你项目中安装的Microsoft.Azure.WebJobs.Extensions.ServiceBus包版本为5.x及以上,只有该版本及更新版本才原生适配新版Azure.Messaging.ServiceBus库,旧版本扩展只兼容旧版Microsoft.Azure.ServiceBus库。
  • 第三步:替换函数代码
    修改后的可正常运行代码示例如下:
[FunctionName("IncomingMessageProcessingFunction")]
public static void Run([ServiceBusTrigger("incomingmessageprocessingqueue", Connection = "SERVICEBUS")] Azure.Messaging.ServiceBus.ServiceBusReceivedMessage myQueueItem, ILogger log)
{
    log.LogInformation($"C# Service Bus队列触发器处理消息完成: {myQueueItem.Body}");
}

报错原因说明:当你给触发器指定了ServiceBusMessage作为参数类型时,Azure Function绑定逻辑会默认把消息负载的内容直接尝试反序列化为该类型,而不是把完整的Service Bus消息元数据+载荷包装后注入,因此会出现“无法将消息内容转为ServiceBusMessage类型”的序列化错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:15:03