发生错误时发送电子邮件通知

时间:2010-04-27 18:42:47

标签: asp.net .net-3.5

我需要设计一个错误警报系统,当我们网站的用户遇到任何类型的错误(数据库异常或404)时,会通过电子邮件通知Web支持团队

设计此项目的最佳方式是什么?任何想法都将不胜感激。

3 个答案:

答案 0 :(得分:2)

您可能希望查看使用global.asax文件进行应用程序范围的错误拦截。快速搜索产生了这个循序渐进的步骤:

http://aspnetresources.com/articles/CustomErrorPages.aspx

根据您期望的流量,每次拦截错误时发送电子邮件可能不是最好的方法。充其量,你会涌入收件箱(并让支持人员非常不满意),最坏的情况是你会把你的邮件服务器列入黑名单以便发送垃圾邮件。我过去在高流量站点上使用的方法是将表中的错误排队,该表通过单独的进程以设定的间隔读取和清除。该过程将聚合错误,按类型,出现次数等对它们进行分组,然后将电子邮件报告发送到支持邮件列表。

答案 1 :(得分:1)

ASP.NET健康监控可能很有用:http://msdn.microsoft.com/en-us/library/ms998306.aspx。它比第一次出现的文章更简单,不需要任何额外的组件 - 它都是内置的。

答案 2 :(得分:1)

我会实现一个捕获onError事件的HTTP模块 这将允许模块在多个应用程序上重用。目标电子邮件地址,SMTP服务器等可以在HTTP模块中,在web.config文件中覆盖,以获得最大的灵活性。