Обработка исключений, возникающих в конструкторе контроллера MVC asp.net - PullRequest
4 голосов
/ 23 апреля 2010

Каков наилучший способ обработки исключений, происходящих из конструктора контроллера?

Все, что я могу придумать, это использовать Application_OnError () или поместить try / catch в мою ControllerFactory.

Ни одно из этих решений не кажется идеальным. Application_OnError - слишком широк - у меня есть не-mvc контент на сайте, который имеет свою собственную обработку ошибок.

Использование блока try / catch выглядит довольно странно.

Если я работаю с другим типом контента -html / text / json / rss .... Я хотел бы иметь возможность обрабатывать исключение из метода действия вместо необходимости писать все виды условий, чтобы определить, что вид сообщения об ошибке для обслуживания.

Я что-то здесь упускаю или кто-то еще имел дело с этим?

1 Ответ

6 голосов
/ 23 апреля 2010

Если в вашем ControllerFactory возникает исключение при создании контроллера, вы никак не можете обработать исключение в методе действия.

Лично я бы просто попытался /поймать, создать экземпляр какого-либо контроллера обработки ошибок и вместо этого направить запрос через негостроится?Якобы, простое создание контроллеров не должно быть огромным источником исключений.Если это так, возможно, вы могли бы взглянуть на ленивую реализацию зависимостей в методах действия (а не на конструкторе) и реализацию ErrorHandlingController подхода .Это привело бы к «исключению» исключений в самих контроллерах, чтобы вы могли использовать более ориентированный на контроллеры подход к их обработке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...