c# - 通过 SQS 以字符串形式发送 MessagePack
问题描述
我想在 C# 中使用 MessagePack通过 SQS 更有效地发送我的消息。为了向队列发送消息,我需要为 SQS 提供一个字符串。我尝试使用以下代码来实现这一点:
//Serialize and send the string to SQS queue
var xyzBytes = MessagePackSerializer.Serialize(new Xyz { X = "Foo", Y = "Bar" });
var xyzString = Encoding.UTF8.GetString(xyzBytes);
//Receive string from SQS, get bytes and deserialize it
var xyz = MessagePackSerializer.Deserialize<Xyz>(Encoding.UTF8.GetBytes(xyzString));
写入 SQS 的字符串是��Foo�Bar\0
(中的值xyzString
)
不幸的是我收到以下错误:
MessagePack.MessagePackSerializationException: Failed to deserialize Project.Services.MessageHandlers.Xyz value.
---> MessagePack.MessagePackSerializationException: Unexpected msgpack code 239 (negative fixint) encountered.
解决方案
推荐阅读
- swiftui - Project ARKit + SwiftUI + 不同的布局预览/模拟器
- android - java.lang.reflect.InvocationTargetException kaptDebugKotlin
- ios - 按下按钮时快速闪烁或闪烁 2 种随机颜色
- git - 以编程方式创建本地“.git”存储库
- scala - 带有 Scala 和 Dataproc 的云存储客户端:缺少库
- sql - 如何在 SQL 中排除末尾包含数字的值
- jquery - 修复了 jquery UI 对话框顶部的内容
- html - 在 mat-grid-tile 中正确调整 Angular 组件的大小
- java - 包中的类如何使用另一个版本的对象类型?
- elasticsearch - 是否可以在elasticsearch Ingest Pipeline中访问_source之外的字段