C# 不';t从IBM MQ队列中连续读取消息

C# 不';t从IBM MQ队列中连续读取消息,c#,.net,ibm-mq,C#,.net,Ibm Mq,当我在导入队列中有2000条消息时,当我通读它时,得到如下结果 MQQueue mqQueue = null; MQQueueManager mqQMgr=null; try { //Create connection to queue manager mqQMgr = new MQQueueManager("Queue Manager name", properties); //Access the queue mqQueue = mqQMgr.AccessQueu

当我在导入队列中有2000条消息时,当我通读它时,得到如下结果

MQQueue mqQueue = null; 
MQQueueManager mqQMgr=null;  
try
{
  //Create connection to queue manager
   mqQMgr = new MQQueueManager("Queue Manager name", properties);
  //Access the queue
    mqQueue = mqQMgr.AccessQueue(QueueName, MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_INPUT_SHARED | MQC.MQOO_BROWSE);
   for(int i=1;i<2000;i++)
  {
    //read the messages
    mqMsg=new MQMessage();
    mqQueue.Get(mqMsg);
  }
}
catch(MQException mqe)
{  
  //If no messages in the queue , break. (if not, catch any error)
}
finally
{
     mqQueue.Close(); //Close the MQ Queue
     mqQMgr.Disconnect(); //Disconnect the MQ Manager
}
MQQueue MQQueue=null;
MQQueueManager mqQMgr=null;
尝试
{
//创建到队列管理器的连接
mqQMgr=新MQQueueManager(“队列管理器名称”,属性);
//访问队列
mqQueue=mqQMgr.AccessQueue(队列名称,MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_INPUT_SHARED | MQC.MQOO_BROWSE);

对于(inti=1;i我尝试了您的示例代码片段,效果很好。我没有看到任何错误


错误日志中的条目可能与您的问题有关。您是否为队列设置了安全策略,并希望在队列中放置/获取签名/签名和加密的消息?可能值得向IBM打开一个票证/PMR。

发生这种情况时,请从QMgr的
AMQERR01.log
错误日志发布条目。此外,请检查全局日志
AMQERR01.LOG
error LOG查看是否有任何内容,或者是否有任何FDC文件被剪切。T.Rob-我在QManager中看到了它,您知道位置/路径吗?您的代码段没有显示队列正在打开。Shashi-我之前没有添加该行,但实际上我的代码段中有它,现在已经编辑了上面的代码段。AMQERRO1.LOG可以在MQ安装文件夹下的“errors”文件夹下找到,每个队列管理器日志可以在\qmgrs\\errors文件夹下找到。我从ibm站点下载了7.5 MQ客户端。我没有向队列中放入/从队列中获取任何加密消息。奇怪的是,它会处理一些消息(例如2000中的800条消息),然后停止处理。