2016-09-23 11 views
0

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

An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Я знал, что у него есть что-то делать с разрешениями. Когда я сравнивал разрешения, присутствующие в файле, который я загрузил через сайт, он показывает .NET v4.5, а в существующем файле такого пользователя нет. Я попытался добавить его, но нет .NET v 4.5.

Я попробовал добавить NETWORK SERVICE и дал ему полное разрешение, но все равно не повезло. Надеюсь, вы могли бы помочь мне, ребята, в этом.

UPDATE:

Здесь детали исключение:

System.UnauthorizedAccessException: Access to the path 'C:\"MyFilePath"' is denied. ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via , the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user. To grant ASP.NET access to a file, right-click the file in File Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

+0

Не могли бы вы добавить подробные сведения об исключениях? – Boney

+0

@Boney Я добавил детали исключения в свой вопрос. Огромное спасибо. – moonlight04

+0

Идентификатор, при котором запускается пул приложений, должен иметь права удаления для файла, который он пытается удалить. Не могли бы вы сообщить мне личность AppPool, под которой работает сайт? Попробуйте изменить AppPool на «ASP.NET v4.0 Integrated» и предоставить группе «IIS_IUSRS» доступ к этой папке. – Boney

ответ

0

Идентичность, под которой работает пул приложений, должны иметь права на удаление файла, который он пытается удалить.
Попробуйте изменить AppPool на «ASP.NET v4.0 Integrated» и предоставить группе «IIS_IUSRS» доступ к этой папке.

+0

Спасибо за помощь !! :) – moonlight04