Я хочу читать сообщения XML из очереди сообщений в приложении CF WPF.Сообщения сохраняются в очереди с помощью блока кода Navision.Во-первых, я не совсем уверен, можно ли использовать сообщения, сохраненные в очереди, потому что они имеют какой-то шестнадцатеричный формат, который выглядит примерно так:
FF FE 3C 00 3F 00 78 00 ÿþ<.?.x.
6D 00 6C 00 20 00 76 00 m.l. .v.
65 00 72 00 73 00 69 00 e.r.s.i.
6F 00 6E 00 3D 00 22 00 o.n.=.".
31 00 2E 00 30 00 22 00 1...0.".
20 00 65 00 6E 00 63 00 .e.n.c.
6F 00 64 00 69 00 6E 00 o.d.i.n.
67 00 3D 00 22 00 55 00 g.=.".U.
54 00 46 00 2D 00 31 00 T.F.-.1.
36 00 22 00 20 00 73 00 6.". .s.
74 00 61 00 6E 00 64 00 t.a.n.d.
61 00 6C 00 6F 00 6E 00 a.l.o.n.
...
Получение сообщений из очереди уже работает, но почему-то формат неправильный, потому что я получаю это исключение времени выполнения «Исключение недопустимой операции: невозможно десериализовать сообщение, переданное в качестве аргумента. Не удается распознать формат сериализации».
Я использую этот код для чтения сообщений:
public MainWindow()
{
InitializeComponent();
mqCustomerData = new MessageQueue(@".\private$\customerData");
mqCustomerData.Formatter = new XmlMessageFormatter(new Type[] { typeof(String) });
mqCustomerData.ReceiveCompleted += new ReceiveCompletedEventHandler(mqCustomerData_ReceiveCompleted);
mqCustomerData.BeginReceive(new System.TimeSpan(0, 0, 0, 30));
}
private void mqCustomerData_ReceiveCompleted(object sender, System.Messaging.ReceiveCompletedEventArgs e)
{
Message m = new Message();
m.Formatter = new XmlMessageFormatter(new Type[] { typeof(String) });
m = mqCustomerData.EndReceive(e.AsyncResult);
string text = (string)m.Body;
}
Я искал проблему, но не нашел полезного решения, нашел только сообщения других пользователей, столкнувшихся с такой же проблемой, как здесь: http://www.webmasterworld.com/microsoft_asp_net/4119362.htm
Я надеюсь, что кто-то изВы можете помочь мне с этим:)