2012-04-16 1 views
0

Я устанавливаю приложение ASP.NET (который хорошо работает в локальном сервере) в виртуальном хостинге, и я получаю исключение в этом пункте:IO.Directory.CreateDirectory() ошибка

IO.Directory.CreateDirectory(the_path) 

Исключение является:

Запрос об ошибке для разрешения типа 'System.Security.Permissions.FileIOPermission, mscorlib, Version = 2.0.0.0, культура = нейтральной, PublicKeyToken = b77a5c561934e089' не удалось.

Папка имеет (или должна иметь) разрешение записи правильно и в хостинге они не говорят много, и, как я вижу here это может быть связанно с окружающей средой MediumTrust ...

Любых идей о том, как справиться с этим? Один solution could be (еще не пытался) разместить папки для записи в каталогах путей вируса, это фактически проблема безопасности для моих файлов, так как они действительно доступны любому, кто знает путь.

+0

Простой пользователь, который работает в этом приложении asp.net, не имеет права на запись на диск. –

ответ

1

Ваш веб-хост ограничил способность .Net записывать на диск.

Вы можете попросить их изменить это или записать в свой виртуальный каталог и использовать Web.config для предотвращения доступа к общедоступному HTTP-доступу.

+0

Спасибо, мое приложение настроено для режима аутентификации = «Формы», кроме того, какая конфигурация. могу ли я добавить для защиты содержимого этой папки (которые являются файлами PDF, DOC, XLS, JPG или что-то еще) для не зарегистрированных пользователей? –

+0

Это зависит от версии IIS. Обратитесь к своему хосту или загляните в панель управления. – SLaks

+0

Я думаю, что это IIS7 –

0

Я устанавливаю приложение ASP.NET (который хорошо работает в локальном сервере) в общих хостингах

Виртуального хостинг, как правило, работает в среде доверия, поэтому они не дают вам разрешения для записи в файловую систему за пределами каталога вашего приложения. the_path должен находиться внутри корня вашего веб-приложения, и вы должны иметь доступ на запись в файловую систему.

Чтобы определить, записаны ли вы в файловую систему, обратитесь к своему провайдеру хостинга.

 Смежные вопросы

  • Нет связанных вопросов^_^