MVC ELMAH v / s Application_Error

时间:2012-09-13 18:06:21

标签: asp.net-mvc-3 exception-handling elmah error-logging application-error

背景

我的MVC网络应用程序中有[HandleError]用于异常处理,但后来它无法处理一些异常,因此建议我继续使用替代Application_Errormy SO Post我最后也使用了ELMAH这似乎更好。

嗯,ELMAH摇滚!但是我无法找到如何用它显示格式化异常(就像我使用Application_Error一样)

ELMAH v / s Application_Error

ELMAH - 提供(几乎)开箱即用的异常日志记录和其他功能,如电子邮件。它完全依赖于web.config和它需要的一堆文件。能够在xml /数据库中记录异常(如配置)并且能够发送电子邮件,rss等。提供一个页面,用户可以在其中查看完整的异常日志和深入了解详细信息。

  

优点:错误时不显示格式化的异常。使web.config有点笨重。 ELMAH文件集是2.8mb(当时更多   我的整个网络应用程序zip的两倍大小)。无法格式化错误/电子邮件。这是依赖的   在System.Data.SQLite.dll上,它依赖于CPU架构(x64或   x86)SO post

Application_Error - 捕获所有异常,我们可以导航用户以显示格式化错误。我们控制正在显示的内容和电子邮件。完全托管的代码(没有CPU依赖性)没有额外的web.config设置。没有额外的dll。

  

优点:没有隐式异常日志记录(我们需要编写代码)。没有日志查看器   像ELMAH。电子邮件,日志记录 - 我们要管理所有。

结论: 首先,请告诉我ELMAH是否可以“完全”替换我的Application_Error。另外,我没有找到关于如何配置使用ELMAH显示/通过电子邮件发送的错误消息的详细信息。或者他们必须共存 (Application_Error显示格式化错误,ELMAH显示其他所有内容)

请建议并分享您的经验。

1 个答案:

答案 0 :(得分:0)

我可以使用ELMAH(除了向用户显示格式化的异常详细信息 - 或者至少我没有找到任何内容)

我想知道我的帖子中缺少什么来吸引SO观众。我得到了Atif自己的回答 - 更快,更简单!

  

https://groups.google.com/forum/?fromgroups=#!topic/elmah/Md9DslGgwNo