Ошибка не найден ресурс при доступе к elmah.axd в проекте ASP.NET MVC

Мое приложение ASP.NET MVC находится в папке под названием Stuff в корневой папке IIS 6.0. Поэтому я получаю доступ к своим страницам как http://localhost/Stuff/Posts. У меня EMLAH работал, пока я использовал встроенный веб-сервер Visual Studio. Теперь, когда я обращаюсь к http://localhost/Stuff/elmah.axd, я получаю сообщение об ошибке «ресурс не найден». Может ли кто-нибудь указать здесь на мою ошибку! Вот запись в файле конфигурации,

<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/> //Handler
  <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
  <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
  <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/> //Module

person theraneman    schedule 13.07.2009    source источник
comment
новый раздел system.webserver в web.config предназначен только для IIS7.0, но в вашем вопросе вы спрашиваете о IIS6.0. Какую именно версию IIS вы используете?   -  person eu-ge-ne    schedule 14.07.2009


Ответы (5)


Работая с IIS7, я обнаружил, что мне нужны оба раздела web.config заполненного (system.web И system.webServer) - см. Эльмах не работает с сайтом asp.net.

Возможно, это связано.

person eyesnz    schedule 24.07.2009

Вы добавили игнорируемые маршруты * .axd в global.asax?

person redsquare    schedule 14.07.2009

Что касается Elmah, нам нужно различать две вещи: во-первых, http-модули, выполняющие всю работу по регистрации ошибок, отправке электронной почты и т. Д. Во-вторых, обработчики http, отображающие страницу журнала ошибок и другие страницы (rss ... и т. Д.)

У меня была та же проблема, что ресурс 404 не найден, потому что у меня странная настройка! на моей машине разработки (windows 7, iis 7) elmah работала как шарм, потому что пул приложений работал в режиме интегрированного конвейера. Однако на производственной машине приложение использовало управляемый конвейер, и я изо всех сил старался заставить elmah работать, но все это было бесполезно ...

Затем у меня возникла идея отобразить пользовательский интерфейс (страница журнала ошибок, rss, сведения об ошибках, ...) с использованием обычных страниц aspx. Я загрузил исходный код, внес некоторые изменения (извините, Атиф, я был вынужден сделать это, потому что мне нужно было самое быстрое решение), а затем в своем приложении я создал папку, в которой я создал обычные страницы aspx, которые наследуются от страниц, определенных Elmah. Страница содержит только одну строку (например, для страницы сведений: ‹% @ Page Language =" C # "Inherits =" Elmah.ErrorDetailPage "%>)

Теперь я смог запустить Elmah независимо от IIS 6/7, и он работает как шарм ... и это избавило меня от большой головной боли, связанной с правильной настройкой обработчиков http и устранением неполадок в его работе! к тому же настроить безопасность намного проще!

Я не знаю, заинтересовано ли сообщество в этом решении (если да, я готов опубликовать свои полные изменения).

Надеюсь, что это даст вам представление о том, как решить проблему альтернативным способом (и если вам нужна модифицированная dll с полными инструкциями по ее использованию, просто скажите мне!)

person Hassan Tabbal    schedule 21.02.2010

В настройках пула приложений в IIS установите Managed Pipelin Mode на Classic, если вы не хотите изменять код или файл web.config. Ваш axd.s будет работать, как прежде.

person Duane Urban    schedule 17.08.2010

Можете ли вы опубликовать остальную часть вашего файла web.config?

Или, если вам достаточно удобно, можете ли вы просто убедиться, что разделы httpHandlers и httpModules (НЕ обработчики и модули) правильно заполнены в файле web.config?

person James S    schedule 14.07.2009
comment
Спасибо, ребята, на самом деле мне пришлось добавить записи в новый раздел system.webserver в файл web.config. - person theraneman; 14.07.2009
comment
У меня тоже сработало. Почему бы вам не опубликовать это как решение. - person Martin; 22.07.2010