Sto usando un'applicazione Windows Forms per monitorare una directory e spostare i file in essa contenuti in un'altra directory.
Al momento copierà il file in un'altra directory, ma quando viene aggiunto un altro file terminerà senza alcun messaggio di errore. A volte copia due file prima di terminare il terzo.
È perché sto usando un'applicazione Windows Form anziché un'app console? C'è un modo per interrompere la fine del programma e continuare a guardare la directory?
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();
}