Как спросили здесь .
Я хочу знать, возможно ли получить HTML-рендеринг YSOD для исключений, отправляемых по почте БЕЗ использования ELMAH? Я обрабатываю ошибки и показываю пользовательскую страницу ошибок пользователю. Я также отправляю общую информацию об исключениях по почте, однако я действительно хотел бы знать, могу ли я обернуть их в настоящий встроенный механизм YSOD ASP.NET и сохранить форматирование HTML.
Update1:
У меня есть пользовательские исключения (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 = "off", представляет собой YSOD из asp.net. Однако, когда я включаю customErrors mode = "on", эти исключения не включаются в его HTML-эквивалент, а только в сообщения об исключениях (без HTML).