当前位置:编程学习 > C#/ASP.NET >>

消息队列可以清除队列中的一条信息吗?

消息队列中想要清除其中的一条信息,怎么实现呢? --------------------编程问答-------------------- System.Messaging.Message[] messages = queue.GetAllMessages();

foreach (System.Messaging.Message message in messages)

{

//Do something with the message.

}

你也可以用GetMessageEnumerator2方法代替上面的MessageQueue.GetAllMessages方法。虽然这两个方 法的用法类似,但GetMessageEnumerator2只能向前(forward-only)。对于非常庞大的队列,则应用使用这个方法,而不是 MessageQueue.GetAllMessages方法。

这是因为GetAllMessages方法领取所有消息,把它们保存在当地内存中;而GetMessageEnumerator2方法只领取当前消息在本地保存,在调用MoveNext时才领取下一条消息。下面这条语句举例说明了GetMessageEnumerator2方法的用法。这段代码检查队列中的每一条消息,再删除它。

MessageEnumerator enumerator = queue.GetMessageEnumerator2();
while (enumerator.MoveNext())

enumerator.RemoveCurrent();
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,