2016-03-09 4 views
1

У меня возникла проблема с отображением тела сообщения. Я отправляю тестовое сообщение (используя XmlFormatter) в очередь с использованием C# (у меня есть Windows 7).MSMQ. Отображение тела сообщения

Как я могу удалить шестерку из предварительного просмотра тела сообщения?

enter image description here

Я нашел интересный момент: если тело меньше 612 байт - отображение XML в порядке, но если тело более 612 байт - появляется шестигранник.

enter image description here

Я не могу использовать BinaryFormatter, потому что мне нужно показать в свойстве сообщения (тело) ясно XML. (Если используется BinaryFormatter, также отображается шестнадцатеричный). Я пробовал создавать пользовательские (TxtFormatter) formatter - шестнадцатеричный.

+0

Разве вы не можете просто сделать сообщение? –

+0

http://stackoverflow.com/questions/4491801/msmq-message-viewer –

+0

Я могу. Но мне нужно прочитать сообщение, используя это окно (message-property-body). И я не могу использовать другие программы для просмотра очереди. Только стандартный инструмент. –

ответ

1

Я нашел решение. Просто нужно использовать ActiveXMessageFormatter

+0

Вы нашли решение. Пожалуйста, отметьте это как ваш ответ, чтобы помочь другим в будущем. –

0

Если вы используете XmlMessageFormatter() при прохождении строки без XML, вы должны обеспечить следующее:

  1. Если сообщение является объектом, убедитесь, что он имеет атрибут [Serializable]. В противном случае тело сообщения будет шестнадцатеричным.
  2. Убедитесь, что результирующие атрибуты последовательного объекта правильно отображены и имеют допустимые значения, если они определены в файле определения XSD (XML Schema Definition).
Смежные вопросы