【问题标题】:System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.EnvironmentPermission, mscorlib' failedSystem.Security.SecurityException:请求“System.Security.Permissions.EnvironmentPermission,mscorlib”类型的权限失败
【发布时间】:2011-12-12 05:18:20
【问题描述】:

当我尝试运行“已发布”的本地网站时出现以下错误。

“/”应用程序中的服务器错误。


安全异常

说明:应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。

异常详情: System.Security.SecurityException:请求'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'类型的权限失败。

来源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[SecurityException: Request for the permission of type 'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
   System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
   System.Security.CodeAccessPermission.Demand() +54
   System.Environment.ExpandEnvironmentVariables(String name) +650
   cc..cctor() +88

版本信息: Microsoft .NET Framework 版本:2.0.50727.4927; ASP.NET 版本:2.0.50727.4927

看了一些博客,我在Web.config中添加了以下内容,但还是出现同样的错误。

<system.web>
    <trust level="Full"/> ...

在 IIS 中是否有任何设置来配置信任级别?我想在不更改文件代码的情况下克服错误。

【问题讨论】:

  • 您对部署应用程序的生产服务器有完全的控制权吗?

标签: c# asp.net iis-7.5 runtime-error


【解决方案1】:

如果您有权访问 IIS 管理器 (inetmgr),则可以设置应用程序的信任级别:

  • 开始 > 运行 > inetmgr
  • 选择您的网站
  • 点击“.NET 信任级别”
  • 在下拉列表中选择“完全信任”

要在 iis 服务器的全局级别更改此配置,请在服务器上使用以下命令行:

appcmd set config /commit:WEBROOT /section:trust /level:Full

这是该信息的 MSDN 来源:http://technet.microsoft.com/en-us/library/cc753658(WS.10).aspx

【讨论】:

  • @Rauf 我也一样,你做了什么?
【解决方案2】:

如果将信任级别设置为完全不起作用,您可以尝试将应用程序池用户更改为有权访问路径的用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-14
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    相关资源
    最近更新 更多