У меня проблема с сериализацией сообщения из Windows Azure ServiceBus.
Когда я вызываю «message.GetBody ();» метод приводит к тому, что мой эмулятор Azure выделяет всю доступную память на машине.
Мой код:
Microsoft.ServiceBus.Messaging.BrokeredMessage message;
while (true)
{
// SB is an instance of a class which let me receive a BrokeredMessage through its ReceiveMessage method.
message = SB.ReceiveMessage("orders");
if (message == null)
{
break;
}
// This ends up allocating lots of memory until the debugger crashes.
Procurement.TestOrder torder = message.GetBody<Procurement.TestOrder>();
}
Используемый класс:
[MessageContract(IsWrapped=false)]
public class TestOrder
{
[MessageBodyMember]
public int companyId { get; set; }
}
Я также пытался использовать атрибуты [DataContract] и [DataMember] в TestOrder-Class.
Кстати, сообщение представляет собой довольно простой XML-файл без каких-либо пространств имен, поступающих из BizTalk в очередь в Azure.
В этом могут быть небольшие недостатки, но я не вижу причин, по которым сериализатор может застрять в цикле.
Заранее спасибо!