错误实施电子邮件

时间:2009-08-03 15:47:07

标签: .net email windows-services

我一直在研究.Net Windows服务,我想知道如何实现从服务中发送错误的电子邮件。 我想到了从catch块中发送电子邮件的想法,但后来我记得在发送电子邮件时可能会出错,并且会抛出未处理的异常。 你们有没有做过这样的事情。如果是这样,你采取了什么样的路径?

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

查看log4net(它可以执行电子邮件,文件日志,数据库日志),看看它是否能满足您的需求。这是我想到的第一件事。

答案 1 :(得分:1)

将发送登录的电子邮件放在global.asax和Application_Error方法中。您可以使用Server.GetLastError()。

获取最新的异常

所以我假设您可以发送电子邮件然后重新抛出异常,或者将新异常作为内部异常抛出。

答案 2 :(得分:1)

我不建议使用电子邮件方式。如果可能的话,我建议将它直接放入你的bug跟踪数据库。您仍然必须捕获在日志记录时遇到的异常并对它们执行某些操作(希望它不会递归到您没有选项的位置)。

我过去所做的:
...登录错误跟踪数据库 ...登录事件日志。
...登录网络共享 ...登录到本地磁盘。

编辑:我应该澄清为什么我不推荐电子邮件。主要原因是错误应该转到数据库,如果你实施“错误的电子邮件”,你的电子邮件将成为未来某些时候您可能不再需要的例外。即使您创建指向相应邮箱的通用电子邮件,您仍然最终会避开您应该做的事情 - 将其记录到您的错误跟踪数据库。