Я використовую програму Windows Forms для моніторингу каталогу та переміщення файлів, залишених у ньому, в інший каталог.
На даний момент він скопіює файл в інший каталог, але коли буде доданий інший файл, він просто закінчиться повідомленням про помилку. Іноді він копіює два файли, перш ніж закінчувати третій.
Це тому, що я використовую додаток для форми Windows, а не консольний додаток? Чи є спосіб я зупинити програму і закінчувати перегляд каталогу?
private void watch()
{
this.watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.*";
watcher.Changed += OnChanged;
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
//Copies file to another directory.
}
public void Dispose()
{
// avoiding resource leak
watcher.Changed -= OnChanged;
this.watcher.Dispose();
}