我想在MSMQ消息队列上使用Linq。据我所知,我需要将消息队列转换为IEnumerable Howerver

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


结果querableQ为null,表示不能像这样强制转换MessageQueue。

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

(我知道GetAllMessages()将返回一个数组,当然可以使用Linq轻松查询它,但是我不希望将整个队列内容都放入内存中)

最佳答案

您需要使用Cast()运算符:

IEnumberable<Message> queryableQ = new MessageQueue(myQueuePath).Cast<Message>();

09-25 19:18