Отслеживание изменения файла - C#
Формулировка задачи:
Не могу разобраться, почему при отслеживании изменений в файле происходит двойной вызов.
Вот код логгера, который отслеживает изменение (стартую его в отдельном потоке):
То есть, если что-либо изменилось, то запускается дважды. Помогите разобраться
Листинг программы
- public class Logger
- {
- private FileSystemWatcher _watcher;
- private bool _enabled = true;
- public Logger()
- {
- _watcher = new FileSystemWatcher("C:\\Temp");
- _watcher.Filter = "log.txt";
- _watcher.Changed += Watcher_Changed;
- }
- public void Start()
- {
- _watcher.EnableRaisingEvents = true;
- while (_enabled)
- {
- Thread.Sleep(1000);
- }
- }
- public void Stop()
- {
- _watcher.EnableRaisingEvents = false;
- _enabled = false;
- }
- private void Watcher_Changed(object sender, FileSystemEventArgs e)
- {
- RecordEntry();
- }
- private void RecordEntry()
- {
- Process proc = new Process();
- proc.StartInfo.FileName = @"C:\Program Files\AIMP3\AIMP3.exe";
- proc.StartInfo.Arguments = "/PLAY";
- proc.Start();
- }
- }
Решение задачи: «Отслеживание изменения файла»
textual
Листинг программы
- public void Start()
- {
- _watcher.EnableRaisingEvents = true;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д