Application_Error вызывается много раз - PullRequest
2 голосов
/ 02 августа 2011

У меня есть приложение, созданное на asp.net MVC3.Приложение работает нормально, но я вижу одну проблему, заключающуюся в том, что при каждой загрузке страницы метод Application_Error выполняется несколько раз, и в одно и то же время исключение не выдается, так что такое приложение никогда не прерывается.При отладке я мог видеть сообщение об ошибке, но я не могу понять, почему эта ошибка появляется.Буду признателен за любую помощь.

[24.07.2011 22:30:04] Ошибка: System.Web.HttpException (0x80004005): файл не существует.в System.Web.StaticFileHandler.GetFileInfo (String virtualPathWithPathInfo, String PhysicalPath, ответ HttpResponse) в System.Web.StaticFileHandler.ProcessRequestInternal (контекст HttpContext, переопределение String StringVirtualPath), контекстный запрос объектаHextHackBack.) в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () на System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое значение и завершено синхронно)

1 Ответ

5 голосов
/ 02 августа 2011

Используйте инструмент, такой как fiddler или firebug (в Firefox), чтобы проверить запросы, отправленные из браузера, и какой из них получает 404 (файл не найден) - это будет преступником.причиной может быть запрос к значку веб-сайта, например "/favicon.ico" - большинство браузеров отправляют этот запрос, чтобы получить значок fav для сайта, который обычно используется в адресной строке, закладках и т. д. для простой идентификации сайта.Вполне вероятно, что у вас нет этого файла в вашем сайте / проекте, следовательно, он генерирует ошибку 404 (файл не найден).Сервер веб-разработки (или IIS в некоторых конфигурациях) использует управляемый конвейер для обработки всех запросов, поэтому каждый запрос будет проходить через global.ajax, включая ошибки для каждого запроса.Всякий раз, когда вы делаете обновление (F5) на своем сайте, вы получите сообщение об ошибке.

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