Сериализатор 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())

Другие вопросы по тегам