특정 디렉토리를 모니터링하기 위해 FileSystemWatcher
을 사용하고 있습니다. 다른 사람이 파일을 편집 할 때 하나의 이벤트를 발생시키고, 파일을 작성하거나 이동할 때 다른 이벤트를 발생시켜야합니다.FileSystemWatcher에서 변경된 이벤트와 만든 이벤트를 구별 할 수 있습니까?
모니터링 된 이동 파일은 Deleted
과 만든 이벤트를 조합하여 잘 작동합니다. 누군가 편집 내용을 파일에 저장하면 Changed 이벤트가 실제로 발생합니다. 그러나 파일을 이동할 때 Changed
이벤트도 발생하며 이는 Created
및 삭제 된 이벤트에 대한 처리 방법을 방해합니다.
기본적으로 사용자가 파일을 이동하거나 파일을 만들 때 편집 내용을 저장하는 경우에만 Changed
이벤트를 발생시키고 싶습니다. 실제로 Changed
이벤트인지 Created
이벤트인지 확인하기 위해 ChangeType
속성을 사용해 보았습니다. 놀랍게도 ChangeType
Created
이 아닌 이동하거나 파일을 만들 때도 변경 이벤트가 발생하여 ChangeType
Changed
이 발생했습니다 유형 중 하나 여야합니다.)
그래서 ... 오히려 파일 생성 또는 이동보다, 변경 이벤트가 실제로 파일 편집에 의해 트리거되어 있는지 확인하는 방법을
어떤 아이디어를 몰라?
감사합니다, 좋은 통찰력 ...의 순서로 항상있을 것
Deleted
될 것입니다. NofityFilter를 사용하면 파일이 삭제되고 생성 된 이벤트를 발생시키기 전에 폴더가 변경된 이벤트를 발생시키기 때문에 작동하지 않지만 두 팁과 타이머의 조합을 사용하여 수정할 수 있습니다. 당신이 말했듯이, 더러운,하지만 작동합니다 :-) – Anders다행 당신을 위해 –