2011-08-30 50 views
4

我想通过MSMQ消息队列使用Linq。据我所知,我需要投的消息队列作为一个IEnumerable Howerver是否有可能从MessageQueue实例获得IEnumerable <Message>

var queryableQ = new MessageQueue(myQueuePath) as IEnumerable<Message>; 

结果querableQ是零,这表明的MessageQueue无法施展这样。

有没有其他方法可以用来使用Linq访问MessageQueue。

(我知道的GetAllMessages()将返回这当然是很容易使用LINQ查询数组,但我宁愿不使整个队列内容到内存)

+0

这有帮助吗? http://www.sharepoint4arabs.com/AymanElHattab/Lists/Posts/Post.aspx?ID=8 - 或者白皮书链接到这里? http://blogs.msdn.com/b/motleyqueue/archive/2008/02/09/combining-linq-with-system-messaging.aspx –

回答

5

您需要使用Cast()操作:

IEnumberable<Message> queryableQ = new MessageQueue(myQueuePath).Cast<Message>(); 
相关问题