Элма не работает на живом сайте - PullRequest
1 голос
/ 31 мая 2011

Я использую elmah с сайтом asp.net mvc 3, и он отлично работает локально, но когда я загружаю его на свой сайт общего хостинга (iis 7), он, похоже, не регистрирует ни одной ошибки.

Я использовал nuget для захвата библиотеки, и я предполагал, что она настроила все необходимые файлы в web.config.

Так что я понятия не имею, что мне не хватает и почему это не появляется.

Редактировать

вот все, что у меня есть, эльма

    <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
          <elmah xdt:Transform="Replace">
            <errorMail from=""
                   to=""
                   cc=""
                   subject=""
                   async="true"
                   smtpPort="26"
                   smtpServer=""
                   userName=""
                   password="" />
            <errorLog type="Elmah.SqlErrorLog, Elmah" logPath="~/App_Data" connectionStringName="ConnectionString" />
            <errorFilter>
          <test>
            <equal binding="HttpStatusCode" value="404" type="Int32" />
          </test>
        </errorFilter>
        <security allowRemoteAccess="0" />
      </elmah>
    </configuration>
  <system.web>
    <httpModules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
    </httpModules>
    <httpHandlers>
      <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
    </httpHandlers>
  </system.web>

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

1 Ответ

1 голос
/ 31 мая 2011

если вы скачали его с NuGet, у вас должны быть готовы все разделы конфигурации. В любом случае, попробуйте и проверьте ваш system.webServer раздел:

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
    </modules>
    <handlers>
      <add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
    </handlers>
  </system.webServer>
...