是否有任何方法(C#或本机)计算消息队列(子队列)中的消息。 使用队列名称“DIRECT = OS:slc11555001 \ private $ \ file-queue; retry”
我想知道子队列中有多少条消息。目前,我可以看到使用管理控制台,该队列中实际上有消息。如果操作系统可以做到,我也应该这样做。
MQMgmtGetInfo返回0xc00e0020(这不是一个记录的错误代码)。
因此我很困惑。 我在这里使用代码: http://functionalflow.co.uk/blog/2008/08/27/counting-the-number-of-messages-in-a-message-queue-in/答案 0 :(得分:2)
错误如下(来自http://support.microsoft.com/kb/304287): MQ_ERROR_UNSUPPORTED_FORMATNAME_OPERATION(0xC00E0020)。 MQMgmtGetInfo将无法理解子队列格式名称。
重试子队列仅作为私有$ \ file-queue队列的逻辑分区而存在。 您可以调用文件队列中的计数,但不能调用其中的子队列。
干杯 约翰
答案 1 :(得分:0)
隐式创建子队列,因此只能使用以下API 与子队列一起使用:MQOpenQueue,MQCloseQueue,MQCreateCursor, MQReceiveMessage,MQReceiveMessageByLookupId,MQHandleToFormatName, MQMoveMessage和MQPathNameToFormatName。 致电任何其他人 消息队列API返回错误