C#学习教程:使用C#和ApacheNMS的ActiveMQ-计算队列中的消息但我只是在计算队列中的消息时遇到了一些困难。这是我的代码:publicintGetMessageCount(){intmessageCount=0;Uriconnecturi=newUri(this.ActiveMQUri);IConnectionFactoryfactory=newNMSConnectionFactory(connecturi);使用(IConnection连接=factory.CreateConnection())使用(ISession会话=connection.CreateSession()){IQueueBrowserqueueBrowser=session.CreateBrowser((IQueue)requestDestination);IEnumeratormessages=queueBrowser.GetEnumwerator(MoveNext()){messageCount++;}connection.Close();会话.关闭();connection.Close();}返回消息计数;我以为我可以使用QueueBrowser来获取计数,但它返回的IEnumerator总是空的。我从这个页面得到了使用QueueBrowser的想法,但也许还有另一种方法我应该这样做?更新:我在枚举器中发现的“无限循环”问题的解决方案是访问当前消息。它现在只执行一次循环(这是正确的,因为队列中只有一条消息)。新的while循环是:while(messages.MoveNext()){IMessagemessage=(IMessage)messages.Current;消息计数++;我现在没有ActiveMq所以我不能尝试,但我认为问题是你没有启动连接。试试这个:以上是C#学习教程:ActiveMQwithC#andApacheNMS-计算队列中消息共享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——using(IConnectionconnection=factory.CreateConnection()){connection.start();using(ISessionsession=connection.CreateSession()){//Whatever...}}本文收集自网络,不代表立场。侵权请点击右侧联系管理员删除。如需转载请注明出处:
