В настоящее время я работаю над приложением ASP.NET 3.5 / IIS7, для которого я использую WinHost в качестве среды временного хостинга.У меня есть некоторые драмы с тем, что я считаю проблемами с разрешениями, и процесс продажи билетов только что достиг стадии «Вы на своем».
Вот что я пытаюсь сделать:
var dir = Server.MapPath("~/MyFolder/NewPath");
Directory.CreateDirectory(dir);
И вот ответ, который я получаю:
Доступ к пути 'E: \ web \ MyAccount \ MyFolder \ NewPath' запрещен.
Описание: Anнеобработанное исключение произошло во время выполнения текущего веб-запроса.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.UnauthorizedAccessException: Доступ к пути 'E: \ web \ MyAccount \ MyFolder \ NewPath' запрещен.
Трассировка стека показывает сбой строки CreateDirectory.Приложение работает нормально локально, и удостоверение, под которым запускается пул приложений, имеет доступ на запись к пути «MyFolder».В обеих средах уровень доверия установлен на «Полный».
Руководство от WinHost:
По умолчанию пользователь asp.net имеет полные разрешения для вашего сайта.
Более подробно, WindowsIndentity.GetCurrent (). Name возвращает «W02 \ aspnet_17884», который, по-видимому, является идентификатором учетной записи.Мне кажется, что эта учетная запись не имеет доступа для записи в файловую систему приложения, но когда я запросил WinHost, я получил:
Проблема, с которой вы столкнулись, связана с конфигурацией вашего приложения..
и
Я бы порекомендовал вам зарегистрироваться и опубликовать свой вопрос на форуме сообщества DiscountASP.NET
КакойОчевидно, поэтому вопрос теперь стоит о переполнении стека:)
Может кто-нибудь предложить какие-либо изменения конфигурации уровня приложения?Скорее всего, это проблема с разрешениями на хостинге?Спасибо.
Обновление: я также поставил вопрос на форуме WinHost .