public string SendDeferredProcessAsMessage(DeferredProcess process, string msgheader)
        {
            BrokeredMessage message = new BrokeredMessage(msgheader);

            string id           = ShortGuidGenerator.NewGuid();
            Type   deferredType = process.GetType();

            message.Properties["Class"] = deferredType.FullName;
            message.Properties["ID"]    = id;
            foreach (PropertyInfo pi in deferredType.GetProperties())
            {
                message.Properties[pi.Name] = pi.GetValue(process, null);
            }

            SendMessage(message);

            return(id);
        }