Итак, я очень ОЧЕНЬ новичок в MSMQ, и я уже смущен.MSMQ пустой объект на теле сообщения
Я создал приватную очередь и добавил несколько сообщений к ней, все до сих пор хорошо. НО, когда я получаю сообщения из очереди, тело сообщения содержит пустой объект типа, который я добавил. Под этим я не имею в виду, что тело равно null, оно имеет ссылку на тип объекта, который я добавил, но он не создается, поэтому все свойства находятся в их нулевом или стандартном состоянии.
Это код, я использую, чтобы добавить в очереди:
using (var mQueue = new MessageQueue(QueueName))
{
var msg = new Message(observation)
{
Priority = MessagePriority.Normal,
UseJournalQueue = true,
AcknowledgeType = AcknowledgeTypes.FullReceive,
};
mQueue.Send(msg);
}
И это код, который dequeues сообщения:
using (var mQueue = new MessageQueue(QueueName))
{
mQueue.MessageReadPropertyFilter.SetAll();
((XmlMessageFormatter)mQueue.Formatter).TargetTypes =
new[] { typeof(Observation) };
var msg = mQueue.Receive(new TimeSpan(0, 0, 5));
var observation = (Observation)msg.Body;
return observation;
}