разрешения доступа к файлу iis-express - PullRequest
2 голосов
/ 07 апреля 2011

Я использую сервис wcf, размещенный на iis express 7.5. Внутри службы у меня есть операция службы, которая должна записать файл в файловую систему, но когда она пытается это сделать, я получаю исключение.

Я записываю файл в ту же папку, где размещен проект, используя: string filePath = HttpContext.Current.Server.MapPath (".");

но я продолжаю получать это исключение:

DirectoryNotFoundException - "Не удалось найти часть пути C: \ sites ....

Кажется, у моего iis express нет прав на запись файлов. если да, то как я могу дать ему разрешение?

спасибо!

Ответы [ 2 ]

6 голосов
/ 07 апреля 2011
  1. IIS Express работает под текущим зарегистрированным пользователем. Если папка, которую вы пытаетесь написать, имеет специальный доступ, предоставьте доступ текущему пользователю.

  2. File.Open (filePath, FileMode.Create) будет создавать только файлы, если каталог не завершится, он выдаст исключение «DirectoryNotFound», и это ожидается. Итак, перед созданием файла убедитесь, что каталог существует. возможно, вы можете использовать Directory.CreateDirectory ("путь к каталогу") API

3 голосов
/ 07 апреля 2011

Необходимо предоставить разрешения на запись учетной записи NETWORK SERVICE для папки, которую вы пытаетесь записать. Также метод MapPath принимает относительный URL-адрес в корне виртуального каталога:

var path = HttpContext.Current.Server.MapPath("~/");
...