2016-06-14 2 views
1

В задачах расписания Sitecore я хочу удалить XML-файл после импорта данных. Импорт данных успешно завершен, но при удалении я получаю исключение, исключающее доступ.Sitecore удаляет файл с сервера с помощью задач расписания

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> 
System.UnauthorizedAccessException: Access to the path 'X:\..\Website\temp\import\data.xml' is denied. at 
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at 
System.IO.File.InternalDelete(String path, Boolean checkHost) at Website.Intranet.Kernel.ScheduledTasks.Scheduler.ImportData() 

Это код, который я использую для удаления файла.

if (File.Exists(filePath)) 
      { 
       File.SetAttributes(filePath, FileAttributes.Normal); 
       File.Delete(filePath); 

      } 
+0

Вы уверены, что пользователь, запускающий приложение имеет права на удаление файла на этом месте? – Gatogordo

+0

Вы уверены, что освобождаете свой дескриптор файла после завершения импорта? –

+0

Выполняется ли эта ошибка при выполнении запланированной задачи? Или вы пытаетесь отлаживать его при запуске его каким-то другим способом и бросать ошибку? Попробуйте обернуть свой код с помощью (новый Sitecore.SecurityModel.SecurityDisabler()) {} – Anton

ответ

1

Убедитесь, что вы предоставить соответствующие права на целевой папки для пула приложений пользователя идентичности , на котором ваш сайт работает. По умолчанию идентификатор Application Pool Identity или NetworkService.

сделать Также убедитесь, что папка, содержащая не чтения

+0

Но Sitecore помещает этот файл в это место под тем же идентификатором? – Anton

+0

Да. Папка содержимого была только для чтения. – Kamran

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