我设置Elmah在网站上工作。它在我的本地机器上工作正常,但当我将它移动到Web服务器时,我得到了这个异常
配置错误
描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并相应地修改配置文件。
分析器错误消息:无法识别的配置部分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>
答案 0 :(得分:1)
可能是因为您的Web服务器正在运行不同版本的IIS。 IIS7(在集成管道模式下)需要<system.webServer>
部分中的处理程序和模块,而早期版本需要<system.web>
中的处理程序和模块。确保已将配置添加到正确的部分。有关详细信息,请参阅Elmah not working with asp.net site。
答案 1 :(得分:1)
原来在elmah中启用远程访问我不仅要添加
<elmah>
<security allowRemoteAccess="yes" />
</elmah>
选择
但也
<sectionGroup name="elmah">
<section name="security" type="Elmah.SecuritySectionHandler, Elmah" />
</sectionGroup>
添加以上部分解决了我的问题
答案 2 :(得分:0)
我对IIS的体验有限,所以请耐心等待......
您发布的web.config代码段看起来是正确的。基于错误消息,听起来像Elmah在您的Web服务器上根本不工作。您是否检查过您使用<sectionGroup name="elmah">
块正确启用了Elmah?您是否检查过elmah.dll是您项目的一部分?
(检查<system.webServer>
也很重要,如minimalis's answer所述,但听起来你甚至没有那么远。)