title: Why does serialization fail with "unsupported type" when I try to set an object in a BrokeredMessage property?
body: <p>I have a simple class that looks like this:</p>
  
  <pre><code>[DataContract]
  public class Actor
  {
      public string Email { get; set; }
      public string Name { get; set; }
      public Guid Id { get; set; }
  }
  </code></pre>
  
  <p>And I'm trying to send it as a property in a BrokeredMessage like this:</p>
  
  <pre><code>BrokeredMessage message = new BrokeredMessage(entity);
  message.Properties["entityType"] = entity.GetType().Name;
  message.Properties["action"] = action;
  message.Properties["actor"] = actor;     // &lt;-- This causes a failure
  message.Properties["tenant"] = tenant;
  
  topicClient.Send(message);
  </code></pre>
  
  <p>But I keep getting a <code>SerializationException</code> with the message <code>
  Serialization operation failed due to unsupported type Starlight.Events.Actor</code></p>
  
  <p>I tried supplying my own serializer but  it didn't help:</p>
  
  <pre><code>var knownTypes = new List&lt;Type&gt;();
  knownTypes.Add(typeof(Actor));
  var dcs = new DataContractSerializer(entity.GetType(), knownTypes);
  
  BrokeredMessage message = new BrokeredMessage(entity, dcs);
  </code></pre>
  
  <p>This still gives the same exception. What am I missing?</p>