【发布时间】:2010-07-30 16:32:21
【问题描述】:
是否有一个地方可以跟踪 asp.net mvc 应用程序中任何未捕获的异常?
我想通过电子邮件发送错误,或写入文件/db。
【问题讨论】:
标签: asp.net asp.net-mvc error-handling
是否有一个地方可以跟踪 asp.net mvc 应用程序中任何未捕获的异常?
我想通过电子邮件发送错误,或写入文件/db。
【问题讨论】:
标签: asp.net asp.net-mvc error-handling
对于任何日志记录/邮件发送/发生异常时您想要执行的任何操作,您应该查看 Web.config 文件中的应用程序运行状况配置 (described here)。
在您的情况下(发生异常时发送邮件),您可以将 SimpleMailWebEventProvider 提供程序与预定义的“所有错误”事件一起使用,例如以下示例:
<healthMonitoring enabled="false" heartbeatInterval="0">
<providers>
<add name="notifyAppDev" type="System.Web.Management.SimpleMailWebEventProvider" to="admin@mysite.com" from="errors@mysite.fr" subjectPrefix="[WebEvent Error My Site Blabla]" buffer="false" />
</providers>
<rules>
<add name="appDevEvents" eventName="All Errors" provider="notifyAppDev" profile="Critical" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />
</rules>
</healthMonitoring>
哦,如果您想使用此方法,请不要忘记在 Web.config 文件中配置发送邮件的 SMTP 服务器。
【讨论】:
我推荐 ELMAH。有许多关于如何将其合并到您的 mvc 应用程序中的博客文章。最方便的是使用过滤器,如下所述:http://www.codecapers.com/post/Error-Handling-in-MVC-with-ELMAH.aspx
【讨论】: