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

从Microsoft.Azure.ServiceBus迁移到Azure.Messaging.ServiceBus的GetBody等效实现咨询

在新的Azure.Messaging.ServiceBus库中,ServiceBusReceivedMessage的消息体封装为BinaryData类型,你可以通过以下两种方式实现和旧版SDK等价的反序列化效果:

方式1:完全兼容原有DataContractJsonSerializer逻辑

该方式完全复用你之前的序列化器配置,不会出现序列化规则不兼容的问题,代码示例如下:

using var bodyStream = receivedMessage.Body.ToStream();
var serializer = new DataContractJsonSerializer(typeof(RemoteExecutionContext));
var remoteContext = (RemoteExecutionContext)serializer.ReadObject(bodyStream);

方式2:简化写法(适用于无特殊序列化配置的场景)

如果你的对象没有自定义的DataContract序列化规则,也可以直接调用BinaryData内置的JSON反序列化方法,代码更简洁:

var remoteContext = receivedMessage.Body.ToObjectFromJson<RemoteExecutionContext>();

注意:如果你的消息体不是JSON格式,也可以通过receivedMessage.Body.ToArray()获取原始字节数组,自行对接对应的序列化逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:09:04