Ich muss mit einer Legacy-Anwendung von meiner C# -App über die Windows Message Queue kommunizieren.Wie verhindere ich, dass meine System.Messaging.MessageQueue meine Zeichenfolgen in XML umschließt?
Die Legacy-Anwendung erwartet normale String-Nachrichten in einer bestimmten privaten Warteschlange, aber ich kann nicht verhindern, dass die System.Messaging.MessageQueue meine Nachricht in XML verpackt!
Die Code-I-Tests sind, ist sehr einfach:
MessageQueue myQueue = new MessageQueue(@".\Private$\tolegacy");
Message msg = new Message("My Test String");
myQueue.Send(msg);
Das Problem ist, dass die Nachricht ist XML serialisiert und erscheint in der Warteschlange als:
<?xml version="1.0"?><string>My Test String</string>
Ich kann nicht Ändern Sie das Verhalten der Legacy-Anwendung, sodass ich die System.Messaging.MessageQueue stoppen muss, um meine Nachricht als XML zu formatieren.
Kann jemand helfen?
Schreiben direkt in den BodyStream funktioniert, danke. Es sah wie die einfachste Änderung aus, also versuchte ich es zuerst :) – Damovisa
Ich habe einige selbst geschrieben und sie arbeiten wirklich gut. Die einzige Sache, um die Sie sich sorgen müssen, ist der Absender und Empfänger, die den Körpertyp verstehen. –
Wir haben ähnliches Problem. Wir können die Warteschlange lesen und schreiben und die Nachricht zurückbekommen. Aber wenn der Verkäufer die Warteschlange liest, sieht er das zusätzliche "Zeug" um unsere Nachricht gewickelt. Wie können wir einfach eine einfache Zeichenfolge ohne Umbruch schreiben? Sogar BinaryFormatter hat am Anfang der Zeichenfolge eine Menge Bytes hinzugefügt. – NealWalters