Отслеживание изменения файла - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д