小编ree*_*dev的帖子

C# Avro Schema 未使用数据流进行编码

我正在使用 Avro 序列化对象,然后将它们添加到 Kafka 消息中,这些消息将由客户端使用和反序列化。我已经尝试了几种不同的序列化方法,但它们似乎都没有在数据流中嵌入模式。这是我的序列化代码的最新版本。您可以看到注释掉的尝试使用各种可用的编写器。

public static byte[] Serialize<T>(T recordObj) where T : ISpecificRecord
    {
        Log.Info("Serializing {0} object to Avro.", typeof(T));
        try
        {
            using (var ms = new MemoryStream())
            {
                var encoder = new BinaryEncoder(ms);
                //var writer = new SpecificDefaultWriter(recordObj.Schema);
                var writer = new SpecificDatumWriter<T>(recordObj.Schema);
                //writer.Write(recordObj.Schema, recordObj, encoder);
                writer.Write(recordObj, encoder);
                return ms.ToArray();
            }
        }
        catch (Exception ex)
        {
            Log.Error("Failed to Avro serialize object. {0}", ex);
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我不确定还有什么要尝试的。

c# avro

5
推荐指数
1
解决办法
617
查看次数

标签 统计

avro ×1

c# ×1