Как записать исключение без контроллера в asp.net mvc 3 при использовании customErrors mode = "on"? - PullRequest
1 голос
/ 01 января 2011

Сегодня я прочитал много материала на тему реализации пользовательских страниц ошибок в ASP.NET MVC (с использованием 3 RC2).Одна вещь, которую я хочу сделать, это регистрировать исключения, но я не уверен, где лучший хук.

Я в основном следовал совету Барри Дальберга , который помог мне настроить желаемое 404 поведения.Я хочу отделить их от ошибок сервера и регистрировать их по-другому.

Кажется, что когда у меня естьMVC3 просто использует представление, определенное в ~ / Views / Shared / Error.cshtml, передавая правильный экземпляр модели System.Web.Mvc.HandleErrorInfo.По сути, это обход контроллера, в который я бы поместил код регистрации ошибок.

Я пытался установить, но метод действия контроллера никогда не вызывается.

Модель HandleErrorInfo в представлении содержит информацию об исключительной ситуации, необходимую для ведения журнала.Я мог записать ошибку в представлении, но это пахнет смешно.

Другим решением было бы сохранить,Так как это приводит к тому, что Application_Error вызывается из Global.asax, я мог бы вместо этого войти туда.

Идеи?

1 Ответ

2 голосов
/ 01 января 2011

Вы можете написать пользовательский атрибут HandleError , в котором вы будете регистрировать исключение в переопределенном методе OnException .

...