NServiceBus - 拦截应用程序失败

NServiceBus - intercept application failure

我有以下情况: 我使用 NServiceBus 的应用程序必须使用通常不可用的远程 MSSQL Server,因此应用程序会在一段时间后失败。 有没有办法在应用程序关闭之前使用 NServiceBus 拦截该事件并发送电子邮件(或执行任何其他操作)?

NServiceBus 有一些选项,但也有一些注意事项

  • NServiceBus 可以 'catch' 异常、重试消息并通知您其状态。但这只发生在传入消息上。换句话说,没有消息意味着没有通知。
  • 您可以使用检测信号and/or 自定义检查
  • 这取决于您,但是使用专门用于监控此类事件的适当软件不是一种选择吗?

我假设您没有使用远程 SQL 服务器作为传输,因为那样会使事情变得更加困难。

消息在失败时重试。 NServiceBus 不知道错误的严重性等,但您可以处理即时、延迟和失败的通知。 Documentation can be found here.

您还可以使用心跳来查看 NServiceBus 端点是否仍然存在,或者编写自定义检查。更多信息在这里: