Я реализовал Elmah в одном из моих проектов ASP.NET MVC.Кроме того, я сделал следующее:
- Я реализовал атрибут ElmahHandleErrorAttribute, написанный Атифом Азизом в этом сообщении
- Я добавил атрибут ко всем моим контроллерам
- Я настроил Elmah для фильтрации 404 ошибок, поскольку я не хочу регистрировать эти
- Я добавил представление Error.aspx в общую папку, которую я хочу использовать для всех моих ошибок.
- Мои customErrors в Web.Config включены, и я не указал в нем ни одной страницы ошибок, как это не должно быть.
В одном из моих контроллеров у меня естьследующий код:
if (model == null)
throw new HttpException((int)HttpStatusCode.NotFound, "Project not found");
Я просто хочу отобразить 404, если запись не может быть найдена в базе данных.По какой-то причине моя страница Error.aspx не будет отображаться для ошибки 404.Вместо этого отображается общая страница asp.net «ресурс не найден».Я попытался удалить настройку фильтра 404 в Elmah, но это ничего не меняет.
Интересная часть, если я изменю ошибку с NotFound, чтобы сказать InternalServerError, страница Error.aspx отображается очень хорошо.
У кого-нибудь есть указания относительно того, почему это так?