2015-05-15 3 views
0

В настоящее время я настраиваю ELMAH 1.2 для регистрации ошибок в нашем приложении Ektron 9.1, однако он не будет регистрировать никаких ошибок 404. ELMAH в настоящее время функционирует, поскольку он регистрирует другие ошибки (включая необработанные исключения), а не 404 ошибки. Я не использую среду MVC/3-Tier Ektron Architecture, мы по-прежнему используем традиционное решение ASP.NET/Ektron Web Forms.Ektron и Elmah - 404 Ошибки не регистрируются

Я знаю, что ELMAH регистрирует эти ошибки по умолчанию, поэтому мне интересно, не хватает ли я чего-то относительно того, как ELMAH взаимодействует с Ektron. Там не так много информации по этой теме, и одна статья, которую я нашел, датируется 2010 годом, поэтому информация сильно устарела.

ответ

1

Это отличается от URL-адресов, которые заканчиваются на .aspx и других. Если пользователь переходит на ваш сайт и получает доступ /ThisFileisnothere.html, обработчик статического файла справится с этим. Ektron заменяет статический обработчик файлов на EkDavHttpHandlerFactory. Обработчик Ektron не генерирует исключения. Это не вызывает событие Application.Error. Он просто устанавливает statusCode равным 404. Если вы хотите сделать что-то обычное, как log, ошибку в ELMAH, вы можете подключить Application.PostRequestHandlerExecute и проверить Response.StatusCode

Если пользователь пытается перейти на /ThisPageisntHere.ASPX то другой обработчик обработает этот URL-адрес и вызовет событие Application.Error, которое должен получить ELMAH.