我看过https://stackoverflow.com/a/1732531/684646
我有同样的问题......
考虑到我了解一些事实,我一直在寻找可能性:
所以,
来自John Breakwell的博客有十一种可能性:
1。 远程读取的线程池已用完(MSMQ 2.0
只)。
队列中没有项目。 我不确定这是否足以打击这个。
2。超出了本地回调线程的数量
不明白如何检查这个。
第3。 消息量已超过系统可以处理的量(MSMQ 2.0
只要)。
没办法,它是空的。 除非这是关于Ids的溢出
4。分页池内核已耗尽。
不确定如何检查。 The document说了一些关于使用我无法找到的命令的事情。
5。 二进制文件不匹配。
该产品多年来一直没有变化。 (除非微软发送了一个自动更新,搞砸了二进制文件,这似乎不太可能)
6。 邮件大小太大。 已检查
7。已超出机器配额。
在the document上谈论机器配额(a.k.a.存储限制)如果存储是这个问题(也是)它已经检查过,我在这里有点困惑。
8。打开事务外部队列时路由问题(MSMQ 仅限3.0)
本地使用Queue。有一个名为remote的本地Web服务(本地模拟),它插入队列中。
9。 缺少磁盘空间。 已检查
10。 移动设备上的存储问题 不可移动,Windows Server 2008
11。聚集太多MSMQ资源
The document说要检查注册表中的SystemViewSize
。如何在注册表中查看SystemViewSize
?
答案 0 :(得分:1)
我能够通过删除在C:\ windows \ system32 \ msmq \ storage目录中找到的所有消息文件(.mq)来解决此问题。我在开发环境中工作,所以我并不担心邮件丢失。如果你在生产环境中,这可能不是最好的主意。
希望这有助于某人。