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 с приведением varbinary к varchar cast([Payload] as varchar(max) но я также не получил чистые данные.

Как я могу читать данные NEventStore в читаемой форме, пожалуйста?

1 ответ

Решение

Вы можете преобразовать столбец Payload в XML:

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

Хотя полезная нагрузка на самом деле JSON, я получаю правильный результат, например,

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

Очевидно, что это не работает для сжатых или зашифрованных данных.

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