在 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 进行无懈可击的异常处理的主要内容,如果未能解决你的问题,请参考以下文章