2016-03-09 2 views
1

J'ai été confronté au problème de l'affichage du corps du message. J'envoie un message de test (en utilisant XmlFormatter) pour faire la queue en utilisant C# (j'ai Windows 7). Comment puis-je supprimer l'hexagone de l'aperçu du corps du message?MSMQ. Affichage du corps du message

enter image description here

Je trouve moment intéressant: si le corps moins 612 octets - affichage xml est ok, mais si le corps plus 612 octets - apparaît hex.

enter image description here

Je ne peux pas utiliser BinaryFormatter, parce que je dois montrer dans la propriété de message (corps) xml clair. (Si vous utilisez BinaryFormatter, hexa affiché aussi). J'ai essayé de créer un formateur personnalisé (TxtFormatter) - hexa affiché aussi.

+0

Vous ne pouvez pas faire un messagequeue.peek? –

+0

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

+0

Je peux. Mais j'ai besoin de lire le message en utilisant cette fenêtre (message - propriété - corps). Et je ne peux pas utiliser d'autres programmes pour voir la file d'attente. Seul outil standard. –

Répondre

1

J'ai trouvé une solution. Juste besoin d'utiliser ActiveXMessageFormatter

+0

Bon vous avez trouvé une solution. Veuillez marquer ceci comme votre réponse pour aider les autres à l'avenir. –

0

Si vous utilisez XmlMessageFormatter() en passant une chaîne non-XML, vous devez vous assurer les éléments suivants:

  1. Si le message est un objet, assurez-vous qu'il a l'attribut [Serializable]. Sinon, le corps du message sera au format hexadécimal.
  2. Assurez-vous que les attributs d'objet sérialisé résultants sont mappés correctement et qu'ils ont des valeurs valides, s'ils sont définis dans un fichier XSD (XML Schema Definition).