Elmah无法在服务器上运行

时间:2014-12-18 18:15:02

标签: asp.net elmah

Elmah似乎可以在我的开发机器上工作,但在服务器上我可以请求elmah.axd罚款,但它没有记录任何异常。没有错误消息,也没有反馈它只是没有工作(这应该是垃圾软件公司的口号)

以下是我的web.config文件中的精选集锦:

    <elmah>
 <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/errors" />

    <security allowRemoteAccess="false" />
  </elmah>
<location path="elmah.axd" inheritInChildApplications="false">
    <system.web>
      <httpHandlers>


        <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
      </httpHandlers>

     <httpModules>
             <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
        </httpModules>

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为配置有问题......

<location path="elmah.axd" inheritInChildApplications="false">

当我安装Elmah Nuget时,有点乱糟糟的web.config。它添加了不必要的和损坏的xmlns="",并添加了其他system.webserversystem.web部分,这些部分是不允许的。

某些东西必须让它混淆,这导致添加了这个位置标记,我猜测导致模块/处理程序的范围太窄而无法捕获所有错误。

我不知道为什么这在本地工作但不是远程工作。也许是因为我的远程部署在虚拟目录中?