【问题标题】:Elmah on a WebServer网络服务器上的 Elmah
【发布时间】:2010-06-18 15:44:27
【问题描述】:

我设置 Elmah 在网站上工作。它在我的本地机器上运行良好,但是当我将它移动到网络服务器时,我得到了这个异常

配置错误

描述:处理此请求所需的配置文件时出错。请查看下面的具体错误详细信息并适当地修改您的配置文件。

解析器错误消息:无法识别的配置节 elmah/security。

来源错误:

Line 110:  </connectionStrings>
Line 111:  <elmah>
Line 112:  <security allowRemoteAccess="1" />
Line 113:    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="CadaretGrantConnectionString"/>
Line 114:    <!-- Don't log 404 -->

它在第 112 行显示错误。 应该怎么做才能让 Elmah 使用远程访问?

下面是我的配置

<elmah>
<security allowRemoteAccess="1" />
    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ConnectionString"/>
    <!-- Don't log 404 -->
    <errorFilter>
      <test>
        <equal binding="HttpStatusCode" value="404" valueType="Int32"/>
      </test>
    </errorFilter>

</elmah>

【问题讨论】:

标签: asp.net elmah


【解决方案1】:

这可能是因为您的 Web 服务器运行的是不同版本的 IIS。 IIS7(在集成管道模式下)需要&lt;system.webServer&gt; 部分中的处理程序和模块,而早期版本需要&lt;system.web&gt; 中的它们。确保您已将配置添加到正确的部分。请参阅Elmah not working with asp.net site 了解更多信息。

【讨论】:

    【解决方案2】:

    原来是为了在 elmah 中启用远程访问,我不仅要添加

      <elmah>
       <security allowRemoteAccess="yes" />
       </elmah>
    

    设置到

    还有

    <sectionGroup name="elmah">
        <section name="security" type="Elmah.SecuritySectionHandler, Elmah" />
    </sectionGroup>
    

    添加以上部分解决了我的问题

    【讨论】:

    • 我刚刚发现 allowREmoteAccess 的正确大小写很重要 :)
    【解决方案3】:

    我在 IIS 方面的经验有限,所以对此持保留态度...

    您发布的 web.config sn-p 看起来是正确的。根据错误消息,在我看来 Elmah 根本无法在您的 Web 服务器上运行。您是否检查过您是否使用 &lt;sectionGroup name="elmah"&gt; 块正确启用了 Elmah?你检查过 elmah.dll 是你项目的一部分吗?

    (检查&lt;system.webServer&gt; 也很重要,如minimalis's answer 中所述,但听起来您甚至没有走那么远。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-26
      • 2011-08-03
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多