Сериализатор Protobuf-net для NEventStore 3+
Кто-нибудь может указать мне на сериализатор protobuf-net для NEventStore 3.0?
У меня проблемы, я думаю, в основном из-за сериализации в хранилище событий 3, оборачивающей тело события и заголовки в EventMessage.
Я не уверен, как правильно настроить пользовательский сериализатор.
1 ответ
Это абсолютно непроверенное предположение, основанное на очень кратком взгляде на 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()
)