0
發送客戶定義的類型鑑於這一事件如何通過的MessageQueue
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所以它被反序列OK。
ID是System.Guid所以它得到反序列化ok。
Cid是CustomUUID這是用戶定義的類型,不得到反序列化。
我也需要發送客戶定義的類型,但網絡上的稀缺信息。
編輯:它實際上沒有被序列化,所以這個問題是在發送消息
請看看這裏的http://blog.goyello .com/2009/09/08/why-msmq-is-excelent-for-net-developers/ – GSerjo 2012-07-25 19:40:44
這傢伙只使用字符串道具。我需要發送我自己定義的類型,其中包含一些其他自定義類型。我可以將它自己序列化爲一個Dictionary,但格式化程序除了衍生自IDictonary的任何內容外都不會。所以我把所有的屬性的格式'key = value',併發送消息作爲字符串[]。 –
zirus
2012-07-30 13:35:23