系统安全性异常:请求类型为“System.Security.Permissions.EnvironmentPermission, mscorlib”的权限失败。

10

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

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


安全异常

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

异常详细信息: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中配置信任级别的设置?我想在不改变后台代码文件的情况下解决该错误。


你是否对部署应用程序的生产服务器拥有完全控制权? - Manitra Andriamitondra
2个回答

5
如果您可以访问IIS管理器(inetmgr),您可以设置应用程序的信任级别:
  • 开始 > 运行 > inetmgr
  • 选择您的网站
  • 单击“.NET信任级别”
  • 在下拉列表中选择“完全信任”
要在iis服务器的全局级别更改此配置,请在服务器上使用以下命令行:
appcmd set config /commit:WEBROOT /section:trust /level:Full

这里是有关该信息的MSDN来源:http://technet.microsoft.com/zh-cn/library/cc753658(WS.10).aspx


@Rauf 我也是,你做了什么? - mdc

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接