2010-07-10 5 views
1

J'utilise NServicebus avec une configuration pubsub. Jusqu'à présent, il a été vraiment génial et assez simple. Cependant, j'ai remarqué que l'un de mes points de terminaison d'abonné ne récupère pas les messages qui contiennent des chaînes HTML/XML. Par exemple, j'ajoute un objet POCO qui implémente IMessage et l'un des champs string contient des fragments HTML. Le message apparaît dans ma file d'attente mais n'est pas détecté par le point de terminaison. Lorsque j'utilise le débogueur pour supprimer les fragments HTML de la propriété de chaîne dans laquelle le point de terminaison entre en jeu.NServicebus - Publier un message contenant du HTML/XML

Est-ce que quelqu'un sait a) pourquoi cela se produit et b) comment contourner cela (je suppose en effectuant un certain codage? Merci à l'avance JP

[Modifier] pour ajouter un peu plus en détail et répondre aux commentaires de Udi (merci Udi):.

J'utilise la version 4.0 build de NServicebus le html est extrêmement straightforwad et semble un peu comme ceci:

<html> 
<body> 
<h2 class="mceNonEditable">Test Message</h2> 
<p class="mceNonEditable">This is a test message</p> 
</body> 
</html> 

[Edit2]

Il semble que ma question (tout en restant dans l'existence) n'est pas lié au code HTML je passe. Débogage ce soir j'ai remarqué que NServicebus capte les messages, mais par intermittence (environ 1 sur 5 messages). Je vois tous les messages dans mon journal de files d'attente mais ma logique n'est pas systématiquement atteinte.

Répondre

1

Quelle version de NServiceBus utilisez-vous? Vous pouvez voir dans l'exemple Full Duplex qu'il transmet des fragments XML sans problème. Pouvez-vous éventuellement inclure le code HTML qui cause des problèmes?

+0

Merci pour votre réponse Udi. J'ai édité mon post. Je vais également vérifier l'échantillon Full Duplex pour m'assurer que ce n'est pas une erreur ID10T ... –

+0

J'ai pris ce code HTML et l'ai mis dans l'échantillon en duplex intégral et ça marche très bien. –

+1

@Udi: Nous avons eu exactement le même problème avec le sérialiseur NSB dans une ancienne version (pré-1.9). Nous avons travaillé autour d'elle en l'échangeant et en utilisant le DataContractSerializer à la place. –

Questions connexes