What serialization method is used for an ActiveMQ NMS C# object message?

╄→гoц情女王★ 提交于 2019-12-08 01:32:35

问题


I'm planning on using Apache NMS for ActiveMQ messaging, and am wondering what serialization method is going to be used on the objects I send? XML/Binary? What controls the serialization and how can I customize it?

Does anyone have experience doing this with C# objects? Are there any pitfalls that you know of?


回答1:


The default is System.Runtime.Serialization.Formatters.Binary.BinaryFormatter for IObjectMessage.

You can set your own by e.g.

IObjectMessage m = session.CreateObjectMessage();

((ActiveMQObjectMessage)m).Formatter=new SoapFormatter();//Or any IFormatter

You'd need to set the formatter before accessing IObjectMessage.Body on the receiver side if you're not sending objects with the default BinaryFormatter.

If you wish, you can also send/receive IByteMessage/ITextMessage and serialize your objects to the messages yourself in any way you'd like.



来源:https://stackoverflow.com/questions/1358078/what-serialization-method-is-used-for-an-activemq-nms-c-sharp-object-message

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!