private IEvent DeserializeFromStream(Stream stream) { EventMessage message = DataContractServices.DeserializeFromStream <EventMessage>(stream); Type type = Type.GetType(message.AssemblyQualifiedTypeName); return((IEvent)DataContractServices.DeserializeFromBytes(type, message.Data)); }
private Stream SerializeAsStream(IEvent e) { EventMessage message = new EventMessage(); message.AssemblyQualifiedTypeName = e.GetType().AssemblyQualifiedName; message.Data = DataContractServices.SerializeAsBytes(e); return(DataContractServices.SerializeAsStream(message)); }