Elmah дает код ошибки 500 на производстве, но не на старом хосте / локальной разработке - PullRequest
1 голос
/ 17 апреля 2011

Я не могу понять, как заставить Эльму работать на моем производственном хосте для моего проекта Asp.net MVC.Локально и на моем последнем хосте все настроено правильно и переход на /Elmah.axd успешно вызывает регистратор ошибок.Однако на производственном хосте он выдает 500 кодов ошибок.Я не знаю, что еще нужно сделать, чтобы решить проблему.Мой web.config выглядит так:

<configSections>
  <sectionGroup name="elmah">
    <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
    <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
    <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
    <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
  </sectionGroup>
</configSections>

<system.webServer>
  <validation validateIntegratedModeConfiguration="false" />
  <modules runAllManagedModulesForAllRequests="true">
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
  </modules>
  <handlers>
    <add name="Elmah" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
  </handlers>
</system.webServer>

<system.web>
  <httpModules>
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
  </httpModules>
  <httpHandlers>
    <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
  </httpHandlers>
</system.web>

<elmah>
  <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="MyDbContext" />
</elmah>

Ответы [ 3 ]

0 голосов
/ 18 апреля 2011

Журнал событий должен быть в состоянии дать вам больше информации о том, что ошибка 500.Очевидно, что лучше всего было бы подключить отладчик к экземпляру IIS, но я предполагаю, что это невозможно!

Еще одна вещь, которую необходимо проверить, будет проверять, являются ли оба сервера x86 или x64, хотя ELMAH не зависит от платформынекоторые из его зависимостей не являются.

0 голосов
/ 18 апреля 2011

Вот как вы отлаживаете ошибку 500 на IIS:

В IE GOTO: Свойства обозревателя -> Дополнительно -> Отключить: Показать дружественные сообщения об ошибках HTTP

После этого вы получаете обычную ошибку, которую можете отлаживать: -)

Расширенные возможности Интернета http://www.communitymx.com/content/source/A66B8/friendly.gif

0 голосов
/ 17 апреля 2011

Вы можете забыть обновить RegisterRoutes со следующим правилом:

public static void RegisterRoutes(RouteCollection routes)
{
     routes.IgnoreRoute("elmah.axd");
}

Эти ссылки могут вам помочь http://code.google.com/p/elmah/wiki/MVC и Как заставить ELMAH работать с атрибутом ASP.NET MVC [HandleError]?

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