请求'System.Web.AspNetHostingPermission'类型的权限

时间:2012-11-28 11:07:19

标签: c# asp.net localhost

我遇到运行网站的问题。

我开发了网站,当我点击F5查看结果时,我出现了此错误

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

异常详细信息:System.Security.SecurityException:请求类型为“System.Web.AspNetHostingPermission,System,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”的权限失败。

Error Page

我该如何解决这个问题。

13 个答案:

答案 0 :(得分:15)

如果您在网络驱动器上映射应用程序文件夹或从UNC路径打开解决方案文件,则通常会发生此错误。像这样的事情:

  

无效示例: \\ my-server \ my-project

尝试从直接路径打开您的解决方案

  

有效示例: C:\ Project \ MyProject

您还可以更改应用程序池标识的权限,但不建议:

  

Web服务器(IIS)>应用程序池标识>高级设置>将身份设置为网络服务

答案 1 :(得分:8)

为我工作的一次性解决方案是将应用程序池身份(高级设置)设置为网络服务

答案 2 :(得分:3)

尝试设置"加载用户个人资料"应用程序池的值为" True"。 它对我有用。

答案 3 :(得分:2)

您可以运行以下命令将FullTrust格式化为远程共享:

  

C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727> caspol.exe -m -ag 1 -url   “file://// \ yourcomputername \ yoursharename *”FullTrust -exclusive on

希望这有帮助。

答案 4 :(得分:2)

我尝试了这里发布的所有解决方案以及其他一些地方,对我来说没什么用。我的项目位于网络驱动器上,直到我尝试在项目中使用AjaxControlToolkit 2.0。显然,关于网络驱动器权限的某些内容不允许工具箱中的控件运行。我将项目移回本地硬盘驱动器,一切都开始工作了。

答案 5 :(得分:2)

为了它的价值,我发现部署的服务器上的AjaxControlKit.dll被阻止了。为了解决这个问题,我将dll复制到一个新文件夹,然后复制并粘贴到bin文件夹中。我猜.net并不像将dll直接复制到网络文件夹那样

答案 6 :(得分:1)

我面临同样的问题,然后我意识到我正在从远程文件夹运行解决方案。将必要的文件复制到本地文件夹将解决问题。但请确保您的文件夹具有完整权限

答案 7 :(得分:1)

我也有这个问题但是没有看到任何地方提到的这个特殊解决方案。

在检查IIS用户,模拟用户以及向应用程序授予完全信任权限并且仍然收到错误之后,我在运行IIS的服务器上安装了Procmon.exe并注意到IIS正在尝试访问某些Framework64违规网站的文件。我检查了应用程序池高级设置,发现“启用32位应用程序”设置为false。将此设置更改为true证明是正确的操作。生活很美好。

答案 8 :(得分:0)

虽然此页面上的所有其他答案可能导致任何人出现问题,但最常见的答案是Windows Server 2012及更高版本中的操作系统安全性更改。从Internet下载的任何文件都被Windows标记为可疑,并且需要在IIS中使用之前手动取消阻止。因此,如果您通过FTP代码,通过电子邮件发送或通过云提供商进行传输,它将被标记并阻止。

最佳解决方案是使用Visual Studio内置的Web发布工具,或者如果您在域中,则通过网络共享进行传输,每个都可以避免此问题。但是,如果您必须通过上述方法之一将代码复制到另一台服务器,则应在传输之前对所有内容进行压缩,这样您只需要保留一个文件即可解锁。如果您在取消阻止之前解压缩,则每个文件都将被阻止,多项选择将不会为您提供解除阻止的选项。

最后......取消阻止:右键单击该文件,然后选择“属性”。就在靠近底部的第一页上,你会看到一个Unblock按钮以及从互联网上下载文件的警告!

答案 9 :(得分:0)

如果使用此选项编译dll(请勿合并。请为每个页面和控件创建单独的程序集),请确保dll是最新的。我遇到了由于aspx文件是新文件而导致的错误,但是dll仍使用旧文件的文件。

答案 10 :(得分:0)

我找到了一个适用于我的系统并且不需要更改为 Network Service 的潜在解决方案。

转到应用程序池 -> 高级设置 -> 流程模型 -> 加载用户配置文件:True

Source of this answer

答案 11 :(得分:-1)

解决此问题的最佳方法是将Visual Studio作为“管理员”运行。右键单击Visual Studio图标,然后选择“以管理员身份运行”。

使用完全管理员权限打开Visual Studio后,您将能够毫无问题地访问该页面。

答案 12 :(得分:-1)

我遇到此错误,似乎是一般错误。由于这个问题有几个答案,我将添加我的。在远程服务器上重新发布网站似乎为我解决了这个问题。