【问题标题】:Web site works in dev mode; when deployed on IIS causes Security Exception网站在开发模式下工作;在 IIS 上部署时会导致安全异常
【发布时间】:2011-03-16 09:44:06
【问题描述】:

我的 ASP.NET 网站在开发/调试模式下运行良好,但是当我发布它时,出现以下错误:

安全异常

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

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

我用谷歌搜索了这个错误,它出现了很多,所有的答案都说同样的话:放

<trust level="Full" originUrl=""/>

在 web.config 文件中。

对,对,对。问题是,我已经检查过这一行是否在我能找到的每个 web.config 文件中——应用程序本身,以及 32 位和 64 位的 framework\version\config\web.config 文件(我正在运行Windows 7)。

某处肯定有另一个秘密开关 - 但是什么?

编辑

应评论者的要求,让我澄清一下:导致崩溃的页面具有来自AJAX Control Toolkit 的控件。如果我注释掉 ToolkitScriptManager 和 CalendarExtender 控件,页面可以正常工作,即使在 IIS 下也是如此。

错误堆栈跟踪(如果有帮助):

[SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase) +0
System.Web.UI.NamespaceTagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs, Boolean throwOnError) +209
System.Web.UI.TagPrefixTagNameToTypeMapper.System.Web.UI.ITagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs) +210
System.Web.UI.MainTagNameToTypeMapper.GetControlType2(String tagName, IDictionary attribs, Boolean fAllowHtmlTags) +242
System.Web.UI.MainTagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs, Boolean fAllowHtmlTags) +17
System.Web.UI.RootBuilder.GetChildControlType(String tagName, IDictionary attribs) +22
System.Web.UI.ControlBuilder.CreateChildBuilder(String filter, String tagName, IDictionary attribs, TemplateParser parser, ControlBuilder parentBuilder, String id, Int32 line, VirtualPath virtualPath, Type& childType, Boolean defaultProperty) +119
System.Web.UI.TemplateParser.ProcessBeginTag(Match match, String inputText) +605
System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) +1334

【问题讨论】:

  • 您的 IIS 安装中是否安装/启用了 ASP.net?
  • 您要执行什么操作?这是在初始页面加载时还是在您的应用程序中的某个其他时间点。你在 application_start 中有什么代码?
  • @Paddy - 我不知道可以在 IIS 上禁用 ASP.net。我在哪里可以找到该设置(Windows 7)?
  • @matt-dot-net - 初始页面工作正常,但是当我进入具有 AJAX 扩展器的页面时,就会出现错误。
  • @Paddy - aspnet_regiis.exe /u

标签: asp.net iis trust securityexception


【解决方案1】:

我从一个带有遗留代码的黑暗地方来到这里,当我点击答案链接时,我得到了一个 404。

感觉有点像:https://imgs.xkcd.com/comics/wisdom_of_the_ancients.png

无论如何,让机器回来救援:

https://web.archive.org/web/20100329104446/http://dbvt.com/blog/post/AspNetHostingPermission-Security-Exception-Fix-with-Ajax-in-IIS7.aspx

【讨论】:

    【解决方案2】:

    找到answer

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 2012-07-13
      • 2020-04-09
      • 1970-01-01
      • 2015-08-16
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多