C# 消费者服务总线中发送消息出现异常时如何管理错误

C# 消费者服务总线中发送消息出现异常时如何管理错误,c#,nservicebus,azureservicebus,C#,Nservicebus,Azureservicebus,我搜索如何在服务总线azure的消费者中管理异常,如何提醒发送者,我搜索类似Saga的模式,但我不知道这是否是正确的目的。 当我阅读示例代码时,在大多数情况下,如果consumer中存在异常,则发送方不会发出警报。但在生产环境中,如何管理此问题以避免手动解决 我有一个发送服务,它请求对其他服务付款,当请求开始时,发送服务上有一个标记设置为“PaymentRequested”,但如果在支付服务中有一个执行选项,该标记仍然是“PaymentRequested”。如何避免这种情况。通常,如果消费者成功

我搜索如何在服务总线azure的消费者中管理异常,如何提醒发送者,我搜索类似Saga的模式,但我不知道这是否是正确的目的。 当我阅读示例代码时,在大多数情况下,如果consumer中存在异常,则发送方不会发出警报。但在生产环境中,如何管理此问题以避免手动解决


我有一个发送服务,它请求对其他服务付款,当请求开始时,发送服务上有一个标记设置为“PaymentRequested”,但如果在支付服务中有一个执行选项,该标记仍然是“PaymentRequested”。如何避免这种情况。

通常,如果消费者成功处理了命令消息,则应发送成功事件消息,否则应发送失败事件消息。这就是发送方知道操作是否成功的方式


同时,发送方应定义接收这些事件消息的超时时间。如果消费者因异常而崩溃,发送者将在超时时间内无法收到通知。它可能意味着操作失败(或任何其他原因),发送者可以考虑重新发送命令(命令应该是安全重试的幂等)或由于超时而导致报告失败。而不是EventStore和Akka.NET。但这是一般消息传递系统的基本方法。我还知道Udi建议对命令进行建模,以便它们不会失败:)Sagas:Saga示例:简单集成示例代码:HTH