Удаление файлов с помощью служебного приложения

Я использую FileSystemWatcher в VS2005 для мониторинга каталогов и подумал о преобразовании приложения в службу. Eveverything работает нормально, пока служба не попытается удалить файл. Отправляя исключение в средство просмотра событий, я получаю System.UnauthorizedAccessException. Рассматриваемый файл (тестируемый) может быть удален тем же кодом FileSystemWatcher при запуске в форме. Я проверил права LocalService на папку и даже изменил, кто запускал службу. Я закомментировал код FileSystemWatcher и все еще не могу удалить файлы с помощью службы Я пытаюсь использовать File.Delete (имя файла). Думая, что проблема может быть связана с "File", я попытался использовать File.Copy (имя файла, новое имя файла), и он отлично работает

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
138
2

Ответы 2

Попробуйте использовать для службы обычную старую учетную запись пользователя вместо LocalSystem. Таким образом вы можете предоставить определенные разрешения для службы и запретить ей доступ ко всем функциям LocalSystem.

Кроме того, я обнаружил, что FileSystemWatcher - больше проблем, чем пользы. Часто он обнаруживает наличие файла до того, как он полностью записан, и это вызывает всевозможные проблемы при работе с файлом. Попробуйте использовать опрос (проверяйте папку каждые несколько секунд - не используйте класс Timer - у него есть собственные проблемы!) На предмет новых файлов.

"изменил, кто запускал службу" Это тот, кто запустил службу, или учетную запись, для работы под которой была настроена служба?

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

Другие вопросы по теме