NEventStore - 解密和反序列化被监视的事件数据

时间:2015-07-20 08:16:04

标签: c# neventstore

我正在尝试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数据?

1 个答案:

答案 0 :(得分:3)

您可以将Payload列强制转换为XML:

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

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

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

显然,这对压缩或加密数据不起作用。