public void Serialize(Stream stream, Message message, out SerializationContext serializationContext) { serializationContext = null; var serializer = this.serializerResolver.GetSerializer(message.Body.GetType()); if (serializer == null) { return; } serializationContext = new SerializationContext(this.serializerResolver); var writer = new StreamWriter(stream) { Position = 0 }; this.headerSerializer.Serialize(writer, serializationContext, message.Header); serializer.Serialize(writer, serializationContext, message.Body); var length = writer.Position; writer.Position = 6; writer.WriteInt16((short)length); }