当前位置 : 主页 > 大数据 > 区块链 >

序列化 – 用于NEventStore 3的Protobuf-net序列化器

来源:互联网 收集:自由互联 发布时间:2021-06-22
有人能指出我为NEventStore 3.0的protobuf网络序列化器吗? 我遇到麻烦我认为主要是因为事件存储3中的序列化将事件正文和标题包装在EventMessage中. 我不确定如何正确设置自定义序列化程序
有人能指出我为NEventStore 3.0的protobuf网络序列化器吗?

我遇到麻烦我认为主要是因为事件存储3中的序列化将事件正文和标题包装在EventMessage中.

我不确定如何正确设置自定义序列化程序.

这是基于 github非常简短的一瞥而完全未经测试的猜测,但看起来您想要使用连线API来指定自定义序列化器,例如:

var store = Wireup.Init()
    .UsingSqlPersistence("Name Of EventStore ConnectionString In Config File")
        .InitializeStorageEngine()
        .UsingCustomSerialization(mySerializer)
    ... etc

其中mySerializer是实现ISerialize接口的类型的实例.它看起来应该工作:

class ProtobufSerializer : EventStore.Serialization.ISerialize
{
    public void Serialize<T>(Stream output, T graph)
    {
        ProtoBuf.Serializer.Serialize<T>(output, graph);
    }

    public T Deserialize<T>(Stream input)
    {
        return ProtoBuf.Serializer.Deserialize<T>(input);
    }
}

(显然mySerializer在这里是一个新的ProtobufSerializer())

网友评论