有什么方法可以向服务总线 Azure 中的 DLQ 发送消息吗?
我已经尝试过了
await bus.Advanced.TransportMessage.Deadletter(errorDetails: "Let's hope it works");
但是没有成功。我假设这个方法将消息发送到Rebus的QueueError,如果是这样,有什么方法可以将消息从这个QueueError移动到DLQ吗?
以下方法调用
await bus.Advanced.TransportMessage.Deadletter(errorDetails: "Let's hope it works");
会将当前正在处理的消息移动到Rebus的错误队列中。 Rebus 的错误队列是一个名为“error”的普通队列,启动时会自动创建。
Rebus 不使用 Azure 服务总线的死信队列的原因是,如果使用的话,与所有其他传输相比,在 ASB 上运行时它的行为会有所不同,因为 ASB 的内置死信队列的工作方式与普通的死信队列略有不同。排队。
例如使用名为“error”的普通队列意味着您可以使用“error”作为其输入队列来启动Rebus,并让它消耗失败的消息,因为它实际上只是位于普通队列中的普通消息(它们只是碰巧有错误详细信息)附加在一个特殊的标题中)。
我希望现在更清楚了。 🙂