Вопрос

Я получил атрибут спасения работаю.Он должным образом отображает представление DefaultError при возникновении необработанного исключения.

Однако эти исключения не будут регистрироваться или отправляться по электронной почте. Это ТАКОЙ вопрос отвечает Атиф Азиз, и это выглядит довольно солидно, но это относится к встроенному атрибуту HandleErrorAttribute, который Rescue заменяет, верно?Как мне заставить это работать с Rescue?Я хочу убедиться, что в случае возникновения необработанного исключения пользователю будет отправлено представление, указанное с помощью атрибута Rescue, но исключение по-прежнему правильно регистрируется и доступно для просмотра с помощью elmah.axd.

Обновить:

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

Я добавил вышеприведенное в свой просмотр, и теперь оно корректно регистрирует ошибки и отправляет их по электронной почте.Однако, не похоже, что выполнение этого в представлении является правильно вещь.У кого-нибудь есть идея получше?

Это было полезно?

Решение

Вы можете явно вызвать журнал Elmah со своей ViewPage:

using Elmah;

var context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(e, context));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top