在 MVC 应用程序中使用 Elmah 进行无懈可击的异常处理

Posted

技术标签:

【中文标题】在 MVC 应用程序中使用 Elmah 进行无懈可击的异常处理【英文标题】:Watertight exception handling with Elmah in an MVC application 【发布时间】:2011-03-24 15:55:31 【问题描述】:

我正在尝试为 MVC 应用程序设计一个无懈可击的异常处理策略,其中我们使用 Elmah 来记录未处理的异常。我想对我的一些想法提出批评。

    应在控制器层处理所有应用程序异常。该层之下的任何未处理的异常都应该是来自控制器的请求的结果。 在控制器中,开发人员可以处理用户弹出窗口等的某些错误,并可选择将日志记录到 Elmah。 在控制器中,对于未处理的错误,我可以使用自定义的 HandleError 属性来决定是让 Elmah 记录错误,还是同时进入错误视图。

听起来不错?有什么严重的遗漏吗?

【问题讨论】:

你在问什么?在不知道您的要求的情况下,很难说出缺少什么。数字 2 也使这个问题令人困惑,处理异常和其他用户弹出窗口的错误。 @jfar,在第 2 点中,开发人员可以捕获异常并返回结果,在返回的视图中以弹出窗口的形式向用户显示错误。 【参考方案1】:

你在正确的轨道上。查看 NerdDinner 示例,了解控制器中处理错误的一些示例。

在 MVC 中,您可以创建一个自定义控制器工厂,它将 HandleErrorWithElmah 属性注入到您的所有控制器中。

查看我处理登录 MVC 的 code project article - 希望对您有所帮助。

【讨论】:

以上是关于在 MVC 应用程序中使用 Elmah 进行无懈可击的异常处理的主要内容,如果未能解决你的问题,请参考以下文章

React:如何使商店对重新加载无懈可击?

直播14:00准时驾到腾讯云——无懈可击的安全防护

升级版 @Async,让异步任务无懈可击

+ 云签约 让合同的法律效力无懈可击

+ 云签约 让合同的法律效力无懈可击

太完整了!无懈可击的数据仓库体系规划及实施流程