【发布时间】:2013-04-04 18:50:55
【问题描述】:
我正在将消息从一个队列发送到另一个队列,例如在我的输入队列中,如果有一条空消息,然后是一条实际消息,当代码开始排队时,它不会向我发送实际消息一旦它看到第一条空消息。
Import queue:
-> empty message
Test -> actual message
这是正在接收和发送的消息。
if (mqMsg.MessageLength > 0 && mqMsg.DataLength > 0)
{
messageData = mqMsg.ReadString(mqMsg.MessageLength);
}
放
mqQueue.Put(mqMsg, mqPutMsgOpts);
这就是我的实现方式:
while(if any message is available)
{
//go a read/get
mqMsg = new MQMessage();
mqGetMsgOpts = new MQGetMessageOptions();
mqQueue.Get(mqMsg);
if (mqMsg.MessageLength > 0 && mqMsg.DataLength > 0)
{
//posted to send method
}
}
另一种方法(发送) - 发送它。
mqPutMsgOpts = new MQPutMessageOptions();
mqQueue.Put(mqMsg, mqPutMsgOpts);
我该如何处理,即使有空消息,队列也会继续发送消息?
【问题讨论】:
-
Perhaps you should employ anElse` 块在您的代码中.. 使用Reputation points higher than 1会认为您了解如何构造基本条件语句MSDN if Else -
您在寻找某种循环吗?喜欢
while循环?我不知道问题出在哪里。 -
我还不太明白这里有什么问题。你能提供一些澄清吗?空消息是什么意思?没有数据/正文的消息?
-
@Shashi - 是的,它没有数据/正文。 IE。数据长度为零。