解密和反序列化已启动的事件数据

本文关键字:事件 数据 启动 反序列化 解密 | 更新日期: 2023-09-27 18:03:36

我正在尝试NEventStore。我开始的例子项目,我创建了一些事件,并保存到数据库。但在数据库中,我只看到加密的数据,我无法识别我存储的事件的正确性。我试过关闭所有加密设置,但是没有任何改变。

我的init代码:

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"}]

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