Переход от ASP.Net 3.5 к 4.0 - исключение System.Security.Permissions.FileIOPermission - PullRequest
1 голос
/ 17 мая 2011

Я уверен, что это не может быть слишком сложно;но я борюсьОшибка:

Сведения об исключении: System.Security.SecurityException: запрос разрешения типа 'System.Security.Permissions.FileIOPermission, mscorlib, Версия = 4.0.0.0, Culture = нейтральный, PublicKeyToken =b77a5c561934e089 'не удалось.

Я пытаюсь записать текстовый файл на сервере.Раньше мне приходилось изменять файл web.config, чтобы установить уровень доверия на полную.Тогда, похоже, все заработало.

С тех пор я обновил свой сайт для использования ASP.NET 4.0;и теперь я не могу это осуществить.Я действительно ничего не делаю, просто читаю / пишу файл.Но теперь я не могу пройти мимо ошибки.Из того, что я прочитал, звучит как «Полный» - это настройка по умолчанию в 4.0?

У меня есть (практически) пустой файл web.config.Я попытался добавить уровень доверия, чтобы явно установить его на полный, но, похоже, это не помогло.

РЕДАКТИРОВАТЬ

В настоящее время я использую File.AppendAllText для записи в файл и File.ReadAllText для чтения содержимого.

И этоIIS7.

Если это звучит так, как будто это не связано с программированием, я могу обратиться в службу поддержки моего хоста.Но, как я уже сказал, если я переключу свой сайт обратно на 3.5, он прекрасно работает.Когда я устанавливаю на 4.0 - я получаю эту ошибку.

1 Ответ

3 голосов
/ 17 мая 2011

Вот технический документ о многих критических изменениях в ASP.NET 4.0 http://www.asp.net/learn/whitepapers/aspnet4/breaking-changes

Похоже, что модель безопасности претерпела существенные изменения ... но, похоже, краткий ответ на мою проблемуэто добавить:

   <trust level= "Full" legacyCasModel="true" />

legacyCasModel должен дать вам старое поведение из предыдущих выпусков ASP.NET.Это сработало для меня.

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