gpt4 book ai didi

iis-6 - IIS 6 框上的 elmah

转载 作者:行者123 更新时间:2023-12-02 02:28:12 24 4
gpt4 key购买 nike

我有一个运行 elmah 的网站,它记录到一个 sql 框。在我的测试环境中,它是一台 IIS 7 机器,并且一切正常。当我上传到运行 IIS 6 的网络解决方案 Web 时出现错误

[SecurityException: Request for the permission of type 'System.Configuration.ConfigurationPermission, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessPermission.Demand() +58
System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed(String configKey, Boolean requirePermission, Boolean isTrustedWithoutAptca) +99

该网站设置为运行 .net 3.5。我们所有的页面都工作正常,但 elmah 给出了这个错误。我做了一些搜索,但找不到我设置不正确的内容。希望其他人已经解决了这个问题。

最佳答案

我怀疑您的托管商正在以中等信任度运行 ASP.NET。有几件事要尝试。

添加 requirePermission="false" web.config 中声明的每个 Elmah 配置部分的属性,例如:

<sectionGroup name="elmah">
<section name="security" type="Elmah.SecuritySectionHandler, Elmah"
requirePermission="false"/>
<section name="errorLog" type="Elmah.ErrorLogSectionHandler, Elmah"
requirePermission="false"/>
</sectionGroup>

如果这不起作用,您还可以尝试通过将其添加到 <system.web> 来覆盖信任级别在你的web.config文件:

<trust level="Full"/>

如果这不起作用,那么您可能需要联系您的托管商并要求他们放宽他们的信任政策。但是,如果您的网站位于共享池中,他们就不太可能接受这一点。

更新:

关于 requirePermission属性:默认的中等信任策略不允许部分信任的调用者访问配置文件设置,即使在您自己的应用程序中也是如此。

您可以选择通过设置 requirePermission="false" 来覆盖应用程序的本地配置设置。 .这是在 <section name="..." type="..." /> 中完成的在你的声明 web.config文件。所以,当你设置:

<section name="errorLog" type="Elmah.ErrorLogSectionHandler, Elmah" 
requirePermission="false"/

实际上您所说的是请授予 Elmah 读取此设置的权限:

<errorLog type="Elmah.VistaDBErrorLog, Elmah" connectionStringName="ElmahDB" />

关于iis-6 - IIS 6 框上的 elmah,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com