2

我的 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
4

2 回答 2

1

找到了答案

于 2010-07-15T14:51:22.600 回答
0

我从一个带有遗留代码的黑暗地方来到这里,当我单击答案链接时,我得到了 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

于 2020-08-12T14:25:11.943 回答