EventMessage.Body не десериализован обратно в исходный объект при использовании ServiceStack. Вместо этого EventMessage.Body является строкой JSON.
Воспроизвести:
- Откройте проект EventStore и перейдите к проекту EventStore.Example
- Заменить ссылки EventStore.Serialization.Json ссылками проекта на EventStore.Serialization.ServiceStack
- Отключение подписи сборки в EventStore. Пример проекта
- Измените MainProgram.WireupEventStore на .UsingServiceStackJsonSerialization ()
- Добавьте следующий код в конец MainProgram.Main ():
-
var stream = store.OpenStream(StreamId, 0, int.MaxValue);
var myFirstEvent = (SomeDomainEvent) (stream.CommittedEvents.First().Body);
Console.Out.WriteLine("MyFirstEvent.Value=" + myFirstEvent.Value);