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"}]
Очевидно, что это не работает для сжатых или зашифрованных данных.