处理队列中当前所有消息的最佳方法是什么?
我们有一个包含大量非常小的消息的队列,我想做的是读取所有当前消息,然后将它们发送到线程池进行处理。
我似乎找不到任何好的资源来向我展示如何创建一个简单的方法来返回 IEnumerable 例如
Thanks
虽然我同意Nick https://stackoverflow.com/users/51859/nick队列的目的更多的是用于 FIFO 风格的处理,并且阿尔森市场 https://stackoverflow.com/users/87053/arsenmkrt解决方案将起作用,另一种选择涉及使用消息枚举器 http://msdn.microsoft.com/en-us/library/system.messaging.messageenumerator.aspx并将消息堆积到您的 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);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)