Как настроить IIS или веб-сервер, чтобы он мог читать и записывать файлы? - PullRequest
1 голос
/ 18 августа 2010

Я пытаюсь добавить функциональность в простой веб-сервис, который позволит мне записывать информацию в XML-файл на жестком диске, где находится приложение. Когда я использую функциональность в консольной версии приложения, данные регистрируются в:

bin\x86\Debug MySolution.MyProject\MessageLog\TestMessagess.xml.

Однако, когда я пытаюсь записать чтение или запись в файл XML в приложении ASP.NET, я получаю System.UnauthorizedAccessException с сообщением:

Доступ к пути 'MessageLog' запрещен.

Я бы хотел, чтобы файл журнала отображался в папке \bin каталога приложения, поэтому какие настройки в IIS или на самом сервере мне нужно будет изменить, чтобы приложение могло выполнять чтение и запись в эту папку?

Моя машина: я использую Windows XP SP3 с ASP.NET 4.0 .

Ответы [ 3 ]

4 голосов
/ 18 августа 2010

Как сказал Расс, вам нужно предоставить разрешение на чтение / запись пользователю, который использует IIS.

Для IIS до 6.0 идентификационное имя: СЕТЬ СЕРВИС .

Для IIS 7.0 разрешения должны предоставляться для каждого пула приложений. Шаблон идентификации: IIS APPPOOL \% POOL-NAME% . Поэтому, если ваш сайт работает с использованием пула приложений MyApp , вы должны предоставить права на чтение / запись для идентификатора пользователя IIS APPPOOL \ MyApp . Это поведение по умолчанию. Вы также можете установить пользовательский идентификатор для пула приложений (подробнее здесь ).

2 голосов
/ 18 августа 2010

Попробуйте дать соответствующие разрешения Network Service пользователю

1 голос
/ 18 августа 2010

Это функция безопасности сервера, а не IIS.В проводнике Windows перейдите к папке или файлу и установите защиту, чтобы у пользователя, под которым работает IIS, был доступ.

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