【问题标题】:What is the best way to programmatically (c#) detect that a queue can no longer receive a message?以编程方式(c#)检测队列不再接收消息的最佳方法是什么?
【发布时间】:2015-11-13 12:15:37
【问题描述】:

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

除了捕获异常 X 或 Y 并重试之外,这里的最佳做法是什么?谢谢

【问题讨论】:

    标签: c# error-handling queue msmq


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2010-11-01
      • 1970-01-01
      • 2012-10-03
      相关资源
      最近更新 更多