Какой метод сериализации используется для сообщения объекта ActiveMQ NMS C #? - PullRequest
2 голосов
/ 31 августа 2009

Я планирую использовать Apache NMS для обмена сообщениями ActiveMQ, и мне интересно, какой метод сериализации будет использоваться для отправляемых объектов? XML / Binary? Что контролирует сериализацию и как я могу ее настроить?

Кто-нибудь имеет опыт работы с объектами C #? Есть ли какие-либо подводные камни, о которых вы знаете?

1 Ответ

4 голосов
/ 31 августа 2009

По умолчанию System.Runtime.Serialization.Formatters.Binary.BinaryFormatter для IObjectMessage.

Вы можете установить свои собственные, например,

IObjectMessage m = session.CreateObjectMessage();

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

Вам необходимо установить форматер перед доступом к IObjectMessage.Body на стороне получателя, если вы не отправляете объекты с BinaryFormatter по умолчанию.

При желании вы также можете отправлять / получать IByteMessage / ITextMessage и сериализовывать свои объекты в сообщения самостоятельно любым удобным для вас способом.

...