0

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

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

更新:

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

我将以上内容添加到我的视图中,它现在可以正确记录和发送错误。但是,在视图中这样做似乎不是正确的事情。有没有人有更好的主意?

4

1 回答 1

0

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

using Elmah;

var context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(e, context));
于 2010-03-22T10:31:08.917 回答