私は次のような単純なクラスを持っています:
[DataContract]
public class Actor
{
public string Email { get; set; }
public string Name { get; set; }
public Guid Id { get; set; }
}
そして、私はそれを次のようにBrokeredMessageのプロパティとして送信しようとしています。
BrokeredMessage message = new BrokeredMessage(entity);
message.Properties["entityType"] = entity.GetType().Name;
message.Properties["action"] = action;
message.Properties["actor"] = actor; // <-- This causes a failure
message.Properties["tenant"] = tenant;
topicClient.Send(message);
しかし、私SerializationException
はメッセージを受け取り続けます
Serialization operation failed due to unsupported type Starlight.Events.Actor
独自のシリアライザーを提供しようとしましたが、役に立ちませんでした。
var knownTypes = new List<Type>();
knownTypes.Add(typeof(Actor));
var dcs = new DataContractSerializer(entity.GetType(), knownTypes);
BrokeredMessage message = new BrokeredMessage(entity, dcs);
これでも同じ例外が発生します。私は何が欠けていますか?