2009-08-02 2 views
5

У меня есть приложение ASP.NET, которое пытается записать файлы на веб-сервере во время выполнения. В моей среде разработки это работает. Тем не менее, когда я развернуть его на сервере, и я выполнять код, я получаю ошибку, которая гласит:ASP.NET + Доступ к пути отрицается

"Access to the path 'C:\Inetpub\wwwroot\MyWebApp\DirToWriteTo\' is denied." 

Мой рабочий сервер является сервером Windows 2003 машина. Веб-приложение настроено на разрешение анонимного доступа через учетную запись IUSR_TEMPLATE.

Что я делаю неправильно?

Спасибо!

ответ

1

Наиболее вероятная проблема заключается в том, что ваш анонимный пользователь не имеет права на запись в указанное место.

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

Далее, просто дать доступ на запись в каталог, указанный в конфигурации пользователю IUSER_TEMPLATE, или как Торарин сказал Network Service, в этом случае вы должны установить удостоверение олицетворения в вашем Web.config, так что вы можете указать пользователя (если вы не настроите пользователя через пул приложений). Это должно решить проблему.

+1

Только в том случае, если 'Web.config' имеет' 'в разделе' '. В противном случае используется идентификатор набора для пула приложений. По умолчанию это * Network Service * (который имеет очень ограниченный доступ) – Thorarin

+0

Это правда. Сначала я об этом не думал. Я обновлю свой ответ, чтобы включить это. –

1

Если у вас есть Windows 2008 или выше, попробуйте дать права на запись в IIS_IUSRS.

(Network Service также работал для меня в прошлом. Из того, что я читал here, это зависит от операционной системы сервера.)

enter image description here

0

В моем случае, Visual Studio 2015 изменил существующий проект Пользователь IIS AppPool по умолчанию DefaultAppPool, который дал мне ошибки разрешения, ошибки конфигурации, ошибки поставщика ролей и нулевые ссылочные ошибки. Обнаружив это и изменив его обратно в пул приложений, на который были установлены права доступа к папке, все снова заработало.

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