什么是获取当前队列中的所有消息进行处理的最佳方法?
我们有一个包含大量非常小的消息的队列,我想要做的是读取所有当前消息,然后通过线程池发送它们进行处理.
我似乎无法找到任何好的资源,它将告诉我如何创建一个简单的方法来返回IEnnumerable例如
谢谢
虽然我同意Nick的看法,队列的目的更多是用于FIFO样式处理,而ArsenMkrt的解决方案也可以使用,另一个选择是使用MessageEnumerator并将消息堆积到IEnumerable中.
var msgEnumerator = queue.GetMessageEnumerator2();
var messages = new List<System.Messaging.Message>();
while (msgEnumerator.MoveNext(new TimeSpan(0, 0, 1)))
{
var msg = queue.ReceiveById(msgEnumerator.Current.Id, new TimeSpan(0, 0, 1));
messages.Add(msg);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11356 次 |
| 最近记录: |