在这里问。
我想知道是否有可能在不使用 ELMAH 的情况下通过邮件发送异常的 YSOD 的 HTML 渲染?我正在处理错误并向用户显示自定义错误页面。我也通过邮件发送异常一般信息,但是我真的很想知道我是否可以将它们包装到 ASP.NET 的真正内置 YSOD 引擎中并保持 HTML 格式。
更新1:
我有我的自定义异常(DupplicatedArbsException),它返回一个带有我认为是“托管异常”消息的视图。但是,如果它是我没有捕捉到的真正错误,它将返回错误视图。
[HandleError(ExceptionType = typeof(Exception), View = "Error")]
[HandleError(ExceptionType = typeof(DuplicatedArbsException), View = "ErrorViewArbs")]
public ActionResult Create(string id, int? version)
{
//...
}
HandleError 引发当前什么都不做。
protected override void OnException(ExceptionContext filterContext)
{
var ex = filterContext.Exception;
base.OnException(filterContext);
}
..
<customErrors mode="On" defaultRedirect="Error"/>
customErrors mode="off" 中引发的异常是来自 asp.net 的 YSOD。但是,当我打开 customErrors mode="on" 时,这些异常不会包含在它的 html 等效项中,而只是异常消息(根本没有 html)。