NEventStore - 解密和反序列化 stared 事件数据

NEventStore - decrypt and deserialize stared event data

我正在尝试 NEventStore。我启动了示例项目并创建了一些事件并保存到数据库中。但在数据库中,我只能看到加密数据,无法确定存储事件的正确性。我试图关闭所有关于加密的设置,但没有任何改变。

我的初始化代码:

var init = Wireup.Init()
                         .LogToOutputWindow()
                         .UsingInMemoryPersistence()
                         .UsingSqlPersistence("EventStore") // Connection string is in app.config
                         .WithDialect(new MsSqlDialect())
                         .EnlistInAmbientTransaction() // two-phase commit
                         .InitializeStorageEngine()
                         .TrackPerformanceInstance("example")
                         .UsingJsonSerialization()
                         //.Compress()
                         //.EncryptWith(EncryptionKey)
                         .HookIntoPipelineUsing(new[] {new AuthorizationPipelineHook()})
                         .UsingSynchronousDispatchScheduler()
                         .DispatchTo(new DelegateMessageDispatcher(DispatchCommit))
                         .Build();

我尝试在 SQL 中通过 cast([Payload] as varchar(max) 将 varbinary 转换为 varchar 来做到这一点,但我也没有收到干净的数据。

请问如何以可读的形式读取 NEventStore 数据?

您可以将 Payload 列转换为 XML:

SELECT TOP 10 CAST(Payload AS XML), *
  FROM [dbo].[Commits]

即使负载实际上是 JSON,我也得到了正确的结果,例如

[{"Headers":{},"Body":"Test"}]

显然,这不适用于压缩或加密数据。