是否有可能获得 IEnumerable来自 MessageQueue 实例

发布于 2024-12-02 15:12:50 字数 344 浏览 1 评论 0原文

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

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

会导致 querableQ 为空,这表明 MessageQueue 不能这样转换。

是否有其他方法可用于使用 Linq 访问 MessageQueue。

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

I would like to use Linq over an MSMQ message queue. As far as I know, I would need to cast the messagequeue as an IEnumerable Howerver

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

results in querableQ being null, indicating that a MessageQueue can't be cast as such.

Is there a different approach that could be used to access a MessageQueue using Linq.

(I am aware the GetAllMessages() will return an array which of course is easily queried with Linq, but I would rather not bring the entire queue contents into memory)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

影子的影子 2024-12-09 15:12:50

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

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

You need to use the Cast() operator:

IEnumberable<Message> queryableQ = new MessageQueue(myQueuePath).Cast<Message>();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文