Как исправить ошибку "доступ к пути запрещен" в размещенном приложении в IIS
Мое приложение включает в себя удаление файла и перемещение вновь созданного файла в путь к удаленному файлу. Он правильно работает, когда я запускаю его локально, я разместил это приложение в своем локальном iis, но он выдает мне ошибку, когда дело доходит до функции удаления файла.
сообщение об ошибке:
Доступ к пути "путь к файлу" запрещен.
Что я уже пробовал:
1)я добавил идентификатор IIS_IUSRS с доступом FullControl для свойства File security.
2) включил просмотр каталогов на моем локальном сервере iis.
но не повезло. Я получаю ту же ошибку. Пожалуйста, предложите мне что-нибудь. Заранее спасибо.
CHill60
Поделитесь кодом, который вы используете
Group 13172486
Частная функция GenerateScripts (_latestFXRates As RateExtract) Как Логическое
Dim fileName As String = Nothing
Dim updatedScriptFilePath как строка
Dim FileInfo как IO.FileInfo
Dim FileAcl Как Новая Файловая Безопасность
- Попробуй
Dim fileEntries As String () = каталог.Заражен(tfsDirectoryName)
- Обработайте список файлов, найденных в каталоге.
Для каждого имени файла в fileEntries
FileInfo = новый ввод-вывод.FileInfo(имя файла)
Если FileInfo.Тогда Это Просто
FileAcl.AddAccessRule (New FileSystemAccessRule("IIS_IUSRS", FileSystemRights.FullControl, AccessControlType.Позволять))
FileInfo.SetAccessControl(FileAcl)
Конец, Если
Если имя файла.Содержит ("Step1_Backup_all_tables. sql") Затем
updatedScriptFilePath = UpdateBackUpAllTables(имя файла)
MoveTheChangesToTFS(имя файла, updatedScriptFilePath)
Конец, Если
Конечная Функция
Private Sub MoveTheChangesToTFS(fileName As String, updatedScriptFilePath As String)
Файл.Delete (fileName) -- & gt; получение ошибки в этот момент
Файл.Move(updatedScriptFilePath, fileName)
Конец Подводной Лодки
CHill60
См. решение 2 - какова ценность updatedScriptFilePath
Group 13172486
он содержит путь к файлу, откуда он должен получить новый файл
CHill60
Об этом я и сам догадывался. Мой вопрос был таков: "какова ценность?.."
Group 13172486
C:\Users\318960507\Source\Workspaces\LS00\Database\SQL Скрипты\\Step1_Backup_all_tables FXRates.в SQL
и я получаю доступ к пути 'C:\Users\318960507\Source\Workspaces\LS00\Database\SQL Scripts\FXRates\Step1_Backup_all_tables. sql' отклоняется как ошибка.
CHill60
Как было объяснено в решении 2, вы не можете получить доступ к диску C: - сервер вообще не имеет доступа к клиентскому оборудованию.
Group 13172486
Я изменил местоположение с C:/ на другой раздел (F:/), но все равно получаю ту же ошибку. Я пытаюсь удалить файл в проводнике управления версиями TFS, который отлично работает локально, только когда он проходит через IIS, я получаю эту ошибку отказа в доступе. Есть ли у вас какие-либо идеи, нужно ли нам иметь разрешение для каких-либо конкретных пользователей или групп, поскольку у нас есть IIS_IUSRS для веб-сайта приложения в IIS?