有人能指出我为NEventStore 3.0的protobuf网络序列化器吗? 我遇到麻烦我认为主要是因为事件存储3中的序列化将事件正文和标题包装在EventMessage中. 我不确定如何正确设置自定义序列化程序
我遇到麻烦我认为主要是因为事件存储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())