Какой метод сериализации используется для сообщения объекта ActiveMQ NMS C#?

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

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

1 ответ

Решение

Значением по умолчанию является System.Runtime.Serialization.Formatters.Binary.BinaryFormatter для IObjectMessage.

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

IObjectMessage m = session.CreateObjectMessage();

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

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

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

Другие вопросы по тегам