В моем случае мне нужно употреблять сообщение, взять данные и отправить его для обработки где -то за пределами моего клиентского приложения. После того, как он был успешно обработан, я принимаю исходное сообщение или отвергаю, если оно не удалось. Итак, в псевдо -коде это может выглядеть как: < /p>
Код: Выделить всё
void MainLoop()
{
consumer = connection.CreateConsumerAsync(address, queue).Result;
while(working)
{
var receive_msg = consumer.ReceiveAsync().Result;
var msgCacheId = GetMsgId(receive_msg);
StoreToCache(msgCacheId , receive_msg); // cache message while it's being procesed
SendForProcessing(receive_msg);
}
}
void OnProcessingFinished(string msgCacheId, bool bOk)
{
var msg = GetFromCache(msgCacheId);
if(bOk)
consumer.AcceptAsync(msg).AsTask().Wait();
else
consumer.Reject(msg);
}
< /code>
Как получить уникальный MessageId, по крайней мере, в течение времени потребителя? Msg.messageid
Итак, какие -либо идеи? За исключением «проверки данных Calceble of Whole Message»

Подробнее здесь: https://stackoverflow.com/questions/796 ... is-message