以编程方式(c#)检测队列不能再接收消息的最佳方法是什么?

本文关键字:消息 最佳 是什么 方法 不能 方式 编程 队列 检测 | 更新日期: 2023-09-27 18:08:45

在发送另一条消息之前,我们需要一种确定性/一致的方式来知道特定队列(本地/远程)是否备份(即不能再接收消息)。到目前为止,我看到的最佳解决方案是(以一种有效的方式)获取给定队列的消息计数。然后决定是否发送该消息。

除了捕获异常X或Y之外,最佳实践是什么&重试?由于

以编程方式(c#)检测队列不能再接收消息的最佳方法是什么?

如果队列已达到配额大小,则将拒绝新消息。您需要监视队列的总消息大小,而不是总消息数。MSMQ不使用消息数来判断是否达到配额。

或者,如果您正在使用死信队列,您将能够看到一条被拒绝的消息,其状态表明目标队列已达到配额。我认为这种方法比远程检查队列状态更有效。