1. 程式人生 > >無法反序列化作為參數傳遞的消息。無法識別序列化格式。

無法反序列化作為參數傳遞的消息。無法識別序列化格式。

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) });

無法反序列化作為參數傳遞的消息。無法識別序列化格式。