Windows Forms 응용 프로그램을 사용하여 디렉터리를 모니터링하고 여기에 놓인 파일을 다른 디렉터리로 이동하고 있습니다.
현재 파일을 다른 디렉토리로 복사하지만 다른 파일이 추가되면 오류 메시지없이 종료됩니다. 때로는 세 번째 파일로 끝나기 전에 두 개의 파일을 복사합니다.
콘솔 앱이 아닌 Windows Form 애플리케이션을 사용하고 있기 때문입니까? 프로그램 종료를 중지하고 디렉토리를 계속 감시 할 수있는 방법이 있습니까?
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();
}