【发布时间】:2014-07-11 16:05:40
【问题描述】:
我将 WCF 与 MSMQ 端点一起使用,并看到this question 中描述的行为 - 基本上,虽然服务被限制为一次处理一条消息,但从队列中获取了 2 条消息,其中一条似乎保存在内存中而另一个正在处理中。
这给监控正在发生的事情带来了问题;我有一个监控页面,它显示哪些作业在队列中以及哪些正在处理中,但是由于这种行为,有一段时间作业在从队列中取出但尚未开始处理时实际上消失了。我正在使用MessageQueue.GetAllMessages() 获取当前队列中的消息列表。
我对 MSMQ 不是很熟悉,但我认为当消息出列时,它会被标记为不可见,这样其他进程就不会将其删除。有没有办法查询这些消息,以便我可以看到它们是什么?
【问题讨论】:
标签: c# wcf msmq netmsmqbinding msmq-wcf