我有一个处理邮件的.net服务。对于任何失败,我使用log4net并写入文件。我为此添加了一个SMTP appender。问题是我只想在出现问题时发送一封电子邮件。我的app.config中的MaxRetries设置为5,这是正确的,log4net文件中记录了5个错误,但也发送了5封电子邮件。
有什么方法可以处理最大重试次数并在达到目标时触发我的电子邮件?
感谢您的帮助。
答案 0 :(得分:5)
添加从错误队列中读取的常规nservicebus端点。为IMessage添加一个处理程序,并在该处理程序中添加对smtpclient.send的调用。
我有一篇帖子试图解释可能感兴趣的基于消息的系统的错误处理: http://andreasohlund.net/2010/03/15/errorhandling-in-a-message-oriented-world/
这有帮助!