Сайт работает в режиме разработки;при развертывании в IIS возникает исключение безопасности - PullRequest
2 голосов
/ 15 июля 2010

Мой веб-сайт ASP.NET отлично работает в режиме разработки / отладки, но при публикации я получаю следующую ошибку:

Исключение безопасности

Описание: Приложение попыталось выполнить операцию, не разрешенную политикой безопасности. Чтобы предоставить этому приложению необходимые разрешения, обратитесь к системному администратору или измените уровень доверия приложения в файле конфигурации.

Сведения об исключении: System.Security.SecurityException: сбой запроса разрешения типа «System.Web.AspNetHostingPermission, System, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089».

Я погуглил эту ошибку, и она всплывает, и все ответы говорят одно и то же: поставить

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

в файле web.config.

Да, да, я. Дело в том, что я проверил, что эта строка есть в каждом файле web.config, который я смог найти - само приложение, а также файлы framework \ version \ config \ web.config, как 32-разрядные, так и 64-разрядные (я запускаю Windows 7).

Где-то должен быть еще один секретный выключатель - но что?

EDIT

По просьбе комментатора позвольте уточнить: страница, вызывающая сбой, имеет элемент управления из 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

1 Ответ

1 голос
/ 15 июля 2010

Найден ответ !

...