如何清除MSMQ传出队列

Bri*_*an 6 msmq

有没有办法清除传出队列.我似乎无法使用MMC管理单元执行此操作,当我尝试在代码中清除它时,我收到错误Format name is invalid,它发送消息的计算机不存在,因此它们永远不会被发送,但是队列填满了MSMQ的最大存储空间,所以每当我的应用程序尝试发送另一条消息时,我都会得到insufficient resources异常.

我尝试了以下格式,它们全都失败,例外format name is invalid

DIRECT = OS:COMPUTER\private $\queuename
OS:COMPUTER\private $\queuename
COMPUTER\private $\queuename

kpr*_*bst 6

您应该能够从MMC管理单元手动清除它.当MSMQ达到其存储限制时会变得非常吝啬,因此许多操作将因"权限被拒绝"等原因而失败.

长期解决方案显然是修改配置,以便为您的特定使用模式提供足够的存储空间.

编辑:您可能遇到与管理功能和远程队列相关的托管API中的限制.看看这个文章英戈夯.它甚至包括一个p调用示例.

  • 不错的文章,虽然没有尝试.因为屏幕上的一个图像向我展示了我做错了大声笑.我正确地点击队列名称,除了清除选项以显示在那里.不得不更深入地点击"队列消息" (3认同)