谁能告诉我NEventStore 3.0的protobuf-net序列化器?
我有麻烦,我认为主要是由于序列化在事件存储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
是new ProtobufSerializer()
)