Я получил Атрибут Rescue работает. Он правильно отображает представление DefaultError, когда есть необработанное исключение.
Однако эти исключения не будут зарегистрированы или отправлены по электронной почте. На этот SO-вопрос отвечает Atif Aziz, и он выглядит довольно солидно, но он относится к встроенному атрибуту HandleErrorAttribute, который заменяет Rescue, верно? Как мне заставить это работать с Rescue? Я хочу убедиться, что в случае возникновения необработанного исключения пользователь получит представление, указанное в атрибуте Rescue, но исключение по-прежнему будет правильно зарегистрировано и доступно для просмотра с elmah.axd.
Обновление:
var currentContext = HttpContext.Current;
Elmah.ErrorSignal.FromContext(currentContext).Raise(ViewData.Model.Exception, currentContext);
Я добавил вышеизложенное в свое представление, и теперь оно правильно регистрирует и отправляет сообщения об ошибках по электронной почте. Тем не менее, не похоже, что делать это в представлении - это правильная вещь. У кого-нибудь есть идея получше?