После прочтения тонны подобных сообщений я решил придумать этот. Ну, в основном эта проблема похожа на многие другие, но почему-то я не могу заставить ее работать.Доступ к пути xxx отрицается
Вот сценарий, у меня есть балансировка нагрузки на 2 сервера (servA и servB), и мне нужно заставить приложение создать только один из них. Поэтому я хочу поместить путь UNC при сохранении файлов. У меня, очевидно, проблема с созданием файлов в каталоге по сети.
Если я запустил его с помощью Cassini, все хорошо, я могу получить доступ к пути, потому что он зарегистрирован в моей учетной записи. Как только я переношу приложение на сервер разработки, он больше не работает. Я знаю, что IIS использует пользователя, связанного с пулом приложений, поэтому я проверил эту учетную запись (которая является network_service) и добавил права на запись в эту папку.
Все еще не хватает. Что вы думаете о «Everyone» ?! Он должен работать!
О, ну, это не так.
Давайте посмотрим код:
Directory.CreateDirectory("\\\\my.ip.over.da.net\\c$\\inetpub\\wwwroot\\projfolder\\otherprojfolder\\test");
И это послание, которое я получил, когда я пытаюсь создать эту папку.
{"Message":"Access to the path \u0027\\\\\\\\my.ip.over.da.net\\\\c$\\\\inetpub
\\\\wwwroot\\\\projfolder\\\\otherprojfolder\\\\test\u0027 is denied.","StackTrace":"
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)\r\n at
System.IO.Directory.InternalCreateDirectory(String fullPath, String path,
DirectorySecurity dirSecurity)\r\n at System.IO.Directory.CreateDirectory(String path,
DirectorySecurity directorySecurity)\r\n at
NSC.Ajax.GetData.testgrid()","ExceptionType":"System.UnauthorizedAccessException"}
Он вызывается через AJAX для более легкого тестирования, поэтому ответ отформатирован таким образом.
Спасибо msmucker, но я уже пробовал, он тоже не работает. Тем не менее, я думаю, что это не должно быть решением, я имею в виду, почему я должен войти в систему с правильным пользователем, а не с исправлением неправильного? Плюс у меня нет пользователя в производственной среде с этой ролью. Я имею в виду, я должен его создать. – Sballerio