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

标签 c# error-handling queue msmq

我们需要确定/一致的方式来知道是否已备份特定队列(本地/远程)(即不再能够接收消息),然后再向其发送消息。到目前为止,我见过的最好的解决方案是在给定的队列上获得消息计数(以一种有效的方式),然后确定是否发送消息。

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

最佳答案

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

或者,如果您使用的是死信队列,则可以看到状态为目标队列已达到配额的拒绝消息。我认为该方法比远程检查队列统计信息更有效。

关于c# - 以编程方式(C#)检测队列不再能够接收消息的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32108339/

相关文章:

c# - 如何在 C# 中搜索 Excel 文件

c# - 反汇编具有动态类型的 .NET c# 库

python - 如何测试代码在 OpenCV 中抛出 `cv2.error`

error-handling - 如何在 Intellij IDEA 中关闭注释的错误验证?

python - 如何在Python中深度复制队列

c - 单生产者单消费者队列中的内存屏障

c# - Windows Phone 8.1 DatePicker 控件

c++ - 进程返回-1073741819(0xC0000005)执行时间: 2.049 s

javascript - JavaScript 队列的 O(1) 删除

c# - Azure服务总线中继连接到未知的IP地址: 40. 112.124.x:9352