2011-08-30 51 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>(); 
相關問題