Предотвращение исключений Asp.net MVC2 в журнале событий приложений - PullRequest
1 голос
/ 05 ноября 2010

После обновления до ASP.NET MVC2 мы заметили, что журнал событий приложений Windows заполнен следующими записями:

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 11/4/2010 3:29:16 PM 
Event time (UTC): 11/4/2010 7:29:16 PM 
Event ID: 2039870297302976340236
Event sequence: 6422
Event occurrence: 864 
Event detail code: 0 

...
Exception information: 
Exception type: ArgumentException 
Exception message: The parameters dictionary contains a null entry for parameter 'someParam' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Index(System.String, Int32)' in 'SomeNameSpace.SomeController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.

Запрос плохой, поэтому мы получаем эту ошибку. Отлично, но я бы хотел обработать это в своем приложении, а не позволять ему всплывать в журнале событий. Есть предложения?

EDIT

Посмотрите на ответ на этот вопрос . Было бы разумнее установить Ограничения маршрута для решения этой проблемы?

1 Ответ

1 голос
/ 06 ноября 2010

Это не что-то особенное для ASP.NET MVC, но это нормальное поведение любого приложения ASP.NET. Все необработанные исключения регистрируются, что кажется нормальным. Таким образом, вы должны справиться с ними. Для этого типа исключения вы действительно можете использовать ограничения маршрута и иметь собственные страницы ошибок 404 и 500.

В Global.asax также есть обработчик Application_Error, который можно использовать для обработки исключений. Для исключений уровня контроллера есть фильтр действий [HandleError].

...