System.Security.SecurityException: сбой запроса разрешения типа «System.Security.Permissions.EnvironmentPermission, mscorlib» - PullRequest
9 голосов
/ 12 декабря 2011

При попытке запустить локальный веб-сайт «Опубликовано» я получаю следующую ошибку.

Ошибка сервера в приложении '/'.


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

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

Сведения об исключении: System.Security.SecurityException: Запрос разрешения типа 'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' не выполнен.

Ошибка источника:

При выполнении текущего веб-запроса было сгенерировано необработанное исключение. Информация о происхождении и местонахождении исключения может быть идентифицирована с помощью приведенной ниже трассировки стека исключений.

Трассировка стека:

[SecurityException: Request for the permission of type 'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
   System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
   System.Security.CodeAccessPermission.Demand() +54
   System.Environment.ExpandEnvironmentVariables(String name) +650
   cc..cctor() +88

Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.4927; ASP.NET версия: 2.0.50727.4927

После прочтения некоторых блогов я добавил следующее в Web.config, но все еще с той же ошибкой.

<system.web>
    <trust level="Full"/> ...

Есть ли в IIS какие-либо настройки для настройки уровня доверия? Я хотел бы преодолеть ошибку без изменения кода за файлами.

Ответы [ 2 ]

5 голосов
/ 12 декабря 2011

Если у вас есть доступ к IIS Manager (inetmgr), вы можете установить уровень доверия вашего приложения:

  • start> run> inetmgr
  • выберите ваш сайт
  • нажмите «Уровни доверия .NET»
  • выберите «Полное доверие» в раскрывающемся списке

Чтобы изменить эту конфигурацию на глобальном уровне вашего сервера iis, используйте следующую командную строку на сервере:

appcmd set config /commit:WEBROOT /section:trust /level:Full

Вот источник MSDN для этой информации: http://technet.microsoft.com/en-us/library/cc753658(WS.10).aspx

0 голосов
/ 24 января 2017

Если установка уровня доверия на полный не работает, вы можете попробовать изменить пользователя пула приложений на пользователя, у которого есть доступ к пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...