【问题标题】:How do I combine MVCContrib's "Rescue" with Elmah?如何将 MVCContrib 的“救援”与 Elmah 结合起来?
【发布时间】:2010-03-22 08:27:28
【问题描述】:

我得到了the Rescue attribute 的工作。当出现未处理的异常时,它会正确地提供 DefaultError 视图。

但是,这些异常不会被记录或通过电子邮件发送。 This SO question 由 Atif Aziz 回答,它看起来很可靠,但它适用于 Rescue 替换的内置 HandleErrorAttribute,对吧?我如何让它与 Rescue 一起使用?我想确保如果出现未处理的异常,用户会得到使用 Rescue 属性指定的视图,但异常仍然被正确记录,并且可以通过 elmah.axd 查看。

更新:

var currentContext = HttpContext.Current;
Elmah.ErrorSignal.FromContext(currentContext).Raise(ViewData.Model.Exception, currentContext);

我将以上内容添加到我的视图中,它现在可以正确记录并通过电子邮件发送错误。但是,在视图中执行此操作似乎不是 正确 的事情。有人有更好的主意吗?

【问题讨论】:

    标签: asp.net asp.net-mvc elmah mvccontrib


    【解决方案1】:

    您可以从 ViewPage 中显式调用 Elmah 日志:

    using Elmah;
    
    var context = HttpContext.Current;
    ErrorLog.GetDefault(context).Log(new Error(e, context));
    

    【讨论】:

    • 这不适用于电子邮件,但它让我走上了正轨,我想通了,用我当前的解决方案更新了我的问题。然而,它似乎仍然不理想。
    猜你喜欢
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    相关资源
    最近更新 更多