Necesito comunicarme con una aplicación heredada de mi aplicación C# a través de Windows Message Queue.¿Cómo impido que System.Messaging.MessageQueue ajuste mis cadenas en XML?
La aplicación heredada espera mensajes de cadena simple en una cola privada particular, pero parece que no puedo detener System.Messaging.MessageQueue al envolver mi mensaje en XML.
El código Estoy prueba es muy simple:
MessageQueue myQueue = new MessageQueue(@".\Private$\tolegacy");
Message msg = new Message("My Test String");
myQueue.Send(msg);
El problema es que el mensaje está siendo XML serializado y aparece en la cola como:
<?xml version="1.0"?><string>My Test String</string>
no puedo modifique el comportamiento de la aplicación heredada, así que tengo que detener System.Messaging.MessageQueue para formatear mi mensaje como XML.
¿Alguien puede ayudar?
Escribiendo directamente al BodyStream trabajado, gracias. Parecía el cambio más fácil, así que lo intenté primero :) – Damovisa
He escrito varios y funcionan muy bien. De lo único que tienes que preocuparte es de que el emisor y el receptor entiendan el tipo de cuerpo. –
Estamos teniendo un problema similar. Podemos leer/escribir en cola y recuperar el mensaje. Pero cuando el proveedor lee la cola, ve las "cosas" adicionales envueltas alrededor de nuestro mensaje. ¿Cómo podemos simplemente escribir una cadena simple sin ningún tipo de envoltura? Incluso BinaryFormatter agregó un grupo de bytes al principio de la cadena. – NealWalters