如何在JOliver EventStore中自定义JSON序列化?

时间:2012-03-18 01:33:33

标签: json.net cqrs event-store

JOliver EventStore 3.0与Json Serialization插件一起使用,我在配置期间调用它:

var eventStore = Wireup.Init()
    .UsingRavenPersistence("RavenDB")
    .InitializeStorageEngine()
    .UsingJsonSerialization()
    .Build();

它工作正常,但我无法弄清楚如何自定义序列化。它在引擎盖下使用Json.Net,所以我应该能够调整序列化,例如添加ISODateTimeConverter。

EventStore是否以任何方式公开序列化程序,以便我可以调整它?

Raven使用documentStore.Conventions.CustomizeJsonSerializer执行此操作。 EventStore已经有类似的东西吗?

1 个答案:

答案 0 :(得分:1)

据我所知,没有配置选项允许你这样做。 EventStore还会内化其依赖项,因此您无法“了解”Json.NET类。您可以创建自己的EventStore连线扩展,并且通过自己依赖Json.NET,配置您自己的Json序列化器。

这实际上是在NES中为自定义序列化程序完成的,如果您有兴趣,可以在此处找到示例:https://github.com/elliotritchie/NES/blob/master/src/NES/EventStore/NESWireup.cs