Elmah没有在现场工作

时间:2011-05-31 05:10:22

标签: asp.net-mvc asp.net-mvc-3 elmah

我正在使用带有asp.net mvc 3网站的elmah,它在本地工作正常但是当我将它上传到我的共享主机站点(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 个答案:

答案 0 :(得分:1)

如果您使用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>