このイベントを考えると
public class DummyEvent : EventDTO{
public CustomUUID Cid { get; set; }
public DateTime Date { get; set; }
public Guid Id { get; set; }
}
MSMQ経由でメッセージを送信しています:
var de = new DummyEvent {
Date = DateTime.UtcNow,
Id = Guid.NewGuid(),
Cid = Guid.NewGuid()
};
var mq = new MessageQueue(AppSettings.EventQueue);
mq.Formatter = new XmlMessageFormatter(new[]{de.GetType()});
mq.Send(de);
var e = reciever.Receive().Body;
日付はSystem.DateTimeであるため、逆シリアル化されます。
IdはSystem.Guidであるため、逆シリアル化されます。
CidはCustomUUIDであり、逆シリアル化されないユーザー定義タイプです。
顧客定義のタイプも送信する必要がありますが、ネット上にはほとんど情報がありません。
編集:実際にはシリアル化されないため、問題はメッセージの送信にあります