网站以开发模式工作;在IIS上部署时会导致安全异常

时间:2010-07-15 13:02:02

标签: asp.net iis trust securityexception

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

2 个答案:

答案 0 :(得分:1)

找到answer

答案 1 :(得分: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