msmq - 在最大中止失败后未触发移动到 Rebus 错误队列
问题描述
根据错误处理wiki,默认的 Rebus 配置应该将有害消息移动到错误队列中。在第三方组件导致 stackoverflow 异常的情况下不会发生这种情况。底层队列是 msmq,因此有害消息中止计数器递增。
这种行为是因为应用程序异常/退出导致 Rebus 失去跟踪吗?要么对失败的消息使用内存计数,要么在考虑消息之前退出。
解决方案
抱歉,Rebus 在这种情况下不跟踪错误的原因是因为它通常无法StackOverflowException
在 C#中捕获(*)
你在这里不走运,对不起。告诉制作第 3 方组件的人修复他们的递归。
(*) 仅当 CLR 运行时将某些特定标志设置为 true 并且StackOverflowException
“手动”抛出该标志时才有可能。如果由于实际堆栈溢出而导致异常来自运行时,则无法捕获。
推荐阅读
- angular - 路由在已部署项目的新窗口中不起作用
- flutter - 处理时调整图像大小非常慢
- java - 如何在 JavaFX 中的 Controller 之间传递信息?
- javascript - 如何在外部 JS 文件中使用 HTML 文件变量
- c - C中的Execv函数不读取作为参数传入的变量
- javascript - 在 ckeditor5 中为 mathjax 模型创建额外的内容
- python - 在 Pyspark 中执行 PCA 每次运行都会返回不同的结果
- wordpress - 更改 WooCommerce 订阅客户面对的措辞
- typescript - Typescript 遍历接口字段数组
- c - 在 Centos 7 中找不到可用的 POSIX 线程