zoukankan      html  css  js  c++  java
  • 无法反序列化作为参数传递的消息。无法识别序列化格式。

    解决方法:

      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) });
  • 相关阅读:
    POJ 1144 Network(割点)
    POJ 3177 Redundant Paths & POJ 3352 Road Construction(双连通分量)
    ASCII码
    数组
    Java语法基础
    eclipse汉化过程
    指针
    面向对象
    第一课JAVA开发环境配置
    初学编写JAVA程序
  • 原文地址:https://www.cnblogs.com/Med1tator/p/7046034.html
Copyright © 2011-2022 走看看