是否有一个地方可以跟踪asp.net mvc应用程序中任何未捕获的异常?
我想通过电子邮件发送错误,或写入文件/ db。
答案 0 :(得分:3)
对于任何日志/邮件/发生异常时您想要执行的任何操作,您应该查看Web.config文件中的应用程序运行状况配置(described here)。
在您的情况下(发生异常时发送邮件),您将使用带有预定义“All Errors”事件的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服务器。
答案 1 :(得分:0)
我推荐ELMAH。关于如何将其合并到您的mvc应用程序中的博客文章有很多。最方便的是使用过滤器,如下所述:http://www.codecapers.com/post/Error-Handling-in-MVC-with-ELMAH.aspx