.net - 如何在 nservicebus MSMQ 中达到最大重试次数时发送电子邮件

标签 .net msmq nservicebus

我有一个处理消息的 .net 服务。对于任何失败,我使用 log4net 并写入文件。我为此添加了一个 SMTP 附加程序。问题是当出现问题时我只想发送一封电子邮件。我的 app.config 中的 MaxRetries 设置为 5,这是正确的,log4net 文件中记录了 5 个错误,但也发送了 5 封电子邮件。

有什么方法可以控制最大重试次数并在达到该限制时触发我的电子邮件吗?

感谢您的帮助。

最佳答案

添加从错误队列中读取的常规 nservicebus 端点。为 IMessage 添加一个处理程序,并在该处理程序中添加对 smtpclient.send 的调用。

我有一篇文章试图解释可能感兴趣的基于消息的系统的错误处理: http://andreasohlund.net/2010/03/15/errorhandling-in-a-message-oriented-world/

希望这有帮助!

关于.net - 如何在 nservicebus MSMQ 中达到最大重试次数时发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2810686/

相关文章:

deployment - NServiceBus 每消息一个分发器类型最佳实践背后的原因是什么?

wcf - 我应该把图片放在 MSMQ 上吗

c# - Msmq .NET api MessageQueue.Send 不会在预期的地方抛出

dependency-injection - NServiceBus 依赖注入(inject)

c# - 你能为 Visual C#.NET 解决方案推荐一个 .cvsignore 文件吗?

delphi - 消息队列中的访问被拒绝

amazon-ec2 - 我“真的”需要 RPC 和 NETBIOS 才能在本地服务器和 Amazon EC2 之间使用事务性 NServiceBus 队列吗?

c# - 如何将 CloudFX 与 Azure SDK 2.0 结合使用?

c# - StringBuilder 中最快的搜索方法

c# - 如何在构造函数中获取参数数量