無法反序列化作為參數傳遞的消息。無法識別序列化格式。
阿新 • • 發佈:2017-06-19
json ring string zab nbsp col 屬性 time msg
解決方法:
MessageQueue.Formatter 設置Formatter 屬性和Message.Formatter 設置屬性,一個是在隊列中設置,一個是在消息中設置
MessageQueue.Formatter和Message.Formatter 都要設置還要設置的一模一樣 否則就會報異常,無法反序列化作為參數傳遞的消息。無法識別序列化格式。
[Serializable] public class MsmqLog { public string GUID { get; set; } public string EMLogJson { get; set; }public DateTime CreateTime { get; set; } } //1.為MessageQueue對象設置Formatter屬性 private MessageQueue _msgQueue; _msgQueue = new MessageQueue(_pathQueue); _msgQueue.Formatter = new XmlMessageFormatter(new Type[] { typeof(MsmqLog) }); //2.為Message對象設置Formatter屬性 MsmqLog msmqLog = new MsmqLog { GUID = Guid.NewGuid().ToString(), EMLogJson= jsonLogStr, CreateTime = DateTime.Now }; Message msg = new Message(); msg.Body = msmqLog; msg.Formatter = new XmlMessageFormatter(new Type[] { typeof(MsmqLog) });
無法反序列化作為參數傳遞的消息。無法識別序列化格式。